Статья скорее даже не о темизации, а о том как в Drupal 6 заменить системную страницу «Сайт на техобслуживании» на свою.
Итак, по пути «<папка с CMS>/sites/default/settings.php» открываем файл с настройками сайта. Раскомментируем массив $conf. Берём только отмеченные ниже строки, остальные не трогаем:
Созданный этим модулем тип нод позволяет задавать для этих нод дополнительные поля цвет ('color') и количество ('quantity'); такие ноды можно использовать как простейшую систему учета ресурсов. Чтобы сохранять эту дополнительную информацию, нужна вспомогательная таблица базы данных.
Схема таблицы БД:
CREATE TABLE node_example (
vid int(10) UNSIGNED NOT NULL DEFAULT '0',
nid int(10) UNSIGNED NOT NULL DEFAULT '0',
color varchar(255) NOT NULL DEFAULT '',
quantity int(10) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (vid, nid),
KEY `node_example_nid` (nid)
)
Функции и шаблоны, которые выводят содержимое посетителю, и которые могут быть внедрены с помощью тем.
Уровень представления Друпала реализован в виде модульной системы — уровня темы (theme layer). Каждая тема контролирует почти весь вывод Друпала и имеет полный контроль над CSS.
Внутри Друпала, уровень темы реализуется с помощью функции theme(), которая передает имя компоненты темы (хук темы) и аргументы. Пример: theme('table', $header, $rows).
Также функция theme() может содержать массив хуков темы, которые могут быть использованы для реализации “fallback” (использования встроенной функции темы, если не будет найден более специфичный хук), для лучшего контроля вывода. Пример: функция theme(array('table__foo', 'table'), $header, $rows)попытается найти хук 'table__foo', а если не найдет, то будет использована встроенная функция темизации'table'.
Эта возможность может быть использована для присвоения специфических функций темы именованным объектам, давая дизайнерам-авторам больше контроля над выводом специфических типов содержимого.
Начиная с 6-ой версии Друпала, каждый хук темизации, определенный в модуле, нужно зарегистрировать в этом модуле, чтобы Друпал знал, где искать этот хук, и чтобы упростить темам поиск и модификацию этих хуков. Читать далее »