Узел предварительной обработки: функция, которая вызывает все типы узлов

В preprocess.node.inc файл, каждый тип узла вызывает соответствующую функцию предварительной обработки. mytheme_preprocess_node__article для статьи, mytheme_preprocess_node__bio для био и т. д. Есть ли функция, которая работает на всех этих типах узлов? Я пытаюсь избежать использования функции, которая должна вызываться для каждой из этих специфических функций предварительной обработки. Заранее спасибо!

1 ответ

Это просто 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
Другие вопросы по тегам