预处理节点:调用所有节点类型的函数

时间:2018-10-18 17:46:32

标签: php drupal drupal-theming drupal-nodes drupal-preprocess

preprocess.node.inc文件中,每个节点类型都调用其相应的预处理功能。 mytheme_preprocess_node__article代表文章,mytheme_preprocess_node__bio代表生物,等等。在所有这些节点类型上都有运行的功能吗?我试图避免使用需要在每个特定的预处理功能上调用的功能。谢谢你!

1 个答案:

答案 0 :(得分:0)

就是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