CCK

УрокНемного о выводе любых cck-полей программно через node.tpl.php

Сегодня я решил рассказать как выводить cck поля через шаблон node.tpl. Часто бывают такие ситуации, что, например, требуется, чтобы данные из cck полей автоматически закидывать в html-таблицу, или формировать её особым образом, требующим обёртки в дополнительные div'ы (или в любые другие тэги). Поэтому надо обязательно знать, каким образом вывести эти поля в своём шаблоне.

Алгоритм вывода не сложен:

УрокМодули, которые делают жизнь проще, а солнце ярче

Сейчас я расскажу об основных и дополнительных модулях друпала, без которых выполнение некоторых задач было бы сильно осложнено, особенно на начальном этапе. Все модули актуальны для 6 версии CMS Drupal.

Основные модули друпала - мастхэв

  • cck - добавляет возможность создавать в содержимом допонительные поля (фотографии, текстовые поля, числовые, емейлы, загрузка файлов, голосование и прочее)
  • views - можно сказать, основной модуль друпала. В связке с cck обретает невероятную силу, получая +4 поинта к скорости настройки сайта и +5 к гибкости настройки системы :) Позволяет создавать легкоизменяемые блоки, страницы, меню, новостные ленты и прочие составляющие сайта. Новичкам может показаться слегка сложным, но потратив пару часов на освоение минимальных его возможностей, вы уже ощутите ту лёгкость, с которой можно создавать новые элементы сайта.

УрокПример перекрытия шаблона CCK

В прошлом уроке я обещал показать пример, как можно перекрывать шаблоны ССК полей. А раз обещал - значит вынь да полож.

Пример

Надо к статье добавить поле, которое будет выводить неограниченное количество картинок с их описанием, введённое в поле "описание (description)".
По умолчанию это поле не выводится, поэтому надо лезть в шаблон и дописывать его вывод. Заодно уменьшить количество лишних классов, мало ли, для seo пригодится ;) Итак, поехали по порядку.

УрокКак перекрывать вывод полей модуля CCK

Модуль, который используется на 95% сайтах друпала - это CCK (content constructor kit). Без него друпал не достиг бы такой мощи, которой он смог достичь. К списку таких модулей также относится Views. Можно перечислить ещё несколько модулей, но на мой взгляд - именно эти составляют основу друпала.

А раз ССК такой популярный, то было бы совсем неплохо научиться работать с ним не только через админку сайта, но и через свою тему.

Первым делом в корень папки с темой надо закинуть файл content-field.tpl.php из модуля ССК (cck\theme\content-field.tpl.php). Потом скопировать его в эту же папку, но назвать по принципу content-field-имя_сск_поля. Имя этого поля в друпале вы задаёте при создании его в своём типе материала.

Таким образом, в корне вашей темы должен лежать файл content-field.tpl.php и content-field-имя_сск_поля.tpl.php.