Код в шаблоне или в модуле?


Лучше ли записывать функции подключения в template.php (или в .inc в папке моей темы) или лучше поместить их в пользовательские модули? Или это имеет значение? Это просто вопрос организационных предпочтений? Зависит ли это от вас?

 5
Author: Clive, 2012-12-11

2 answers

Я бы сказал, что это простой пример организации и актуальности. Крючки вписываются в три разные категории: изменение, обработка и тема, поэтому, вероятно, лучше всего организовать их в отдельные включаемые файлы.

inc/
template.alter.inc
template.process.inc
template.theme.inc

Если вы собираетесь добавить класс к кнопке в определенном модуле contrib или аналогичном, то, очевидно, создание пользовательского модуля является излишним.

Вероятно, лучшая стратегия - это работать над уровнем темы, и скоро станет очевидно, стоит ли вставлять соответствующий код в свой собственный модуль. В любом случае, вы достигли того, чего хотели.

Имеет ли значение, где находится код? Скорее всего, нет, это несколько проверок или звонков, где бы это ни было. Вы, вероятно, получите много аргументов по поводу лучших практик от различных разработчиков по этому вопросу.

 3
Author: Alex Gill, 2012-12-11 14:51:08

Лучше ли писать функции крючка в template.php, или лучше поместить их в пользовательские модули?

Во-первых, темы могут просто реализовывать функции темы или изменять крючки; темы не могут реализовывать hook_user_load(), hook_node_update(), или hook_menu(), которые не являются крючками alter (т. Е. крючками, имена которых заканчиваются на _alter, например hook_form_alter()).

Что касается реализации функциональности в теме или в модуле, я бы предпочел реализовать функциональность в теме, если это зависит от темы. Если функциональность должна присутствовать независимо от темы, то она должна быть реализована в модуле. Последний случай также верен, когда функциональность должна быть реализована, когда включенная тема является одной из двух или трех возможных тем.

 1
Author: kiamlaluno, 2012-12-12 00:00:21