В preprocess.node.inc
файл, каждый тип узла вызывает соответствующую функцию предварительной обработки. mytheme_preprocess_node__article
для статьи, mytheme_preprocess_node__bio
для био и т. д. Есть ли функция, которая работает на всех этих типах узлов? Я пытаюсь избежать использования функции, которая должна вызываться для каждой из этих конкретных функций предварительной обработки. Заранее спасибо!
Это просто hook_preprocess_node(&$variables)
, Как в MYTHEME_preprocess_node(&$variables)
, Это работает аналогично почти со всеми элементами.
hook_preprocess_page
hook_preprocess_html
hook_preprocess_field
Все они просто варианты из hook_preprocess_HOOK(&$variables)
где HOOK
заменяется любым элементом, который вы хотите.
Для некоторых элементов вы также можете присоединить имя машины экземпляра к имени функции, чтобы сохранить ваш код хорошо структурированным, когда у вас есть что-то, что необходимо предварительно обработать только для определенных типов.
hook_preprocess_field__FIELD_NAME
hook_preprocess_paragraph__PARAGRAPH_TYPE
Для узлов вы также можете выбрать режим просмотра, возможно, это работает и для полей.
hook_preprocess_node__NODE_TYPE__VIEW_MODE
Других решений пока нет …