Создал подтему темы garland.
Скопировал в нее файлы:
logo.png
mysubtheme.css
screenshot.png
Создал файл mysubtheme.info
Подтема появилась в списке. Включил ее.
Дальше я хочу кастомизировать внешний вид нодов типа model.
Копирую файл node.tpl.php из базовой темы. Переименовываю его в node-model.tpl.php. Вношу в него необходимые изменения.
Жму кнопку "Сохранить настройки" на странице admin/build/themes. Обновляю страницу. И ничего не происходит. Друпал не видит моего файла node-model.tpl.php.
Теперь внимание, фокус: копирую в мою подтему оригинальный файл node.tpl.php. Не вношу в него никаких изменений! Жму кнопку "Сохранить настройки", обновляю страницу. Вуаля! Друпал видит мой файл node-model.tpl.php с внесенными в него изменениями.
Получается, чтобы в подтеме можно было кастомизировать вид одного типа материала, в этой же подтеме должен быть файл node.tpl.php для всех типов материалов, даже если он ничем не отличается от такого же в базовой теме.
Это ошибка, или так и должно быть? Если это так и должно быть, то почему я не встречал это замечание в руководствах по созданию подтем?
Комментарии
Не ошибка. Почему не встречал не знаю. Наоборот во всех книжках написано, что для темизации нужно копировать оригинал в папку с темой. И кеш сбрасывать не забывайте.
Это не баг - это фича.
Смех-смехом, но это правда баг (https://www.drupal.org/node/279573#comment-2736592), о котором написано на официальном сайте в разделе о создании суб-тем (https://www.drupal.org/node/225125). В 7 версии баг исправлен.
Проще всё тупо скопировать, в Drupal 6 это до ума не доведено, в Drupal 7 с этим попроще, но тоже не идеал. Фишка в том, что Drupal 6 не будет перехватывать шаблоны нод до тех пор, пока не увидит основной шаблон для них node.tpl.php, это я точно встречал в описаниях и видеокастах. Почему он его не берёт из базовой темы - вопрос хороший и логичный, он ещё почему-то не переносит настройки из info-файла.