class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

основы

введение
инсталляция
структура Drupal
чистые ссылки
локализация
установка модулей
настройка модулей
пользователи
страницы сайта
главная страница
формат ввода
синонимы ссылок
таксономия
меню

разработка сайта

темы
подтемы
файл .info
шаблоны
переменные page.tpl.php
шаблон block.tpl.php
шаблон node.tpl.php
пример node.tpl.php 1

Справочник по Drupal

Пример переопределения node.tpl.php 1

Создадим новый тип материала, например sredstva.

Установим и активируем модуль CCK, чтобы в разделе управления типами материалов, добавить три дополнительных текстовых поля (ссылка manage fields напротив соответствующего типа материала).

При добавлении первого поля можно задать параметры новой группы. Чтобы сделать поле членом группы, в списке полей и групп, захватите мышкой поле и перетащите его под имя группы, а затем сдвиньте вправо. Для конкретности назовем поля field_srok (срок хранения), field_keep (условия хранения) и field_vipusk (форма выпуска).

Сделаем тестовою страницу с типом материала sredstva и просмотрим результат.

А теперь переопределим вывод добавленных полей. Для удобства установим и активируем небольшой модуль contemplate. Войдем в раздел управления шаблонами
Administer-> Content management-> Content Templates
Раскроем группу body, отметим флажок "Affect body output" и сохраним конфигурацию. В результате поле ввода шаблона станет доступным для редактирования. Так как у нас уже есть материал данного типа, то можно раскрыть группу "Body Variables" и просмотреть все доступные переменные с примером их содержания.

В моем случае, вывод дополнительных полей в шаблоне был таким


<h3 class="field-label">Срок годности</h3>
  <div class="field-items">
      <div class="field-item">
      <?php print $node->field_srok[0]['view'] ?>
      </div>
  </div>
</div>
...

Заменим этот код, например на такой


<p><b>Срок хранения</b>: <?php print $node->field_srok[0]['view'];?></p>
<p><b>Условия хранения</b>: <?php print $node->field_keep[0]['view'];?></p>
<p><b>Форма выпуска</b>: <?php print $node->field_vipusk[0]['view'];?></p>

Создадим в папке с темой файл node-sredstva.tpl и вставим текст нашего шаблона.

Проверим, что кодировка шаблона utf-8.

Убедимся, что в этой же папке есть файл node.tpl.

Зайдем в раздел выбора темы, чтобы обновился кэш темы.

Зайдем в раздел управления содержимым и снова просмотрим тестовую страницу. Если все проделано правильно вывод страницы изменится в соответствии с нашим шаблоном.

Модуль contemplate позволяет хранить код шаблонов в базе данных, подгружая их по мере надобности. Но все же рекомендуется не сохранять изменения, а хранить шаблоны в виде файлов как node-sredstva.tpl.


Рейтинг@Mail.ru