【问题标题】:Preprocess Node: Function that calls on all node types预处理节点:调用所有节点类型的函数
【发布时间】:2023-04-08 07:51:01
【问题描述】:

preprocess.node.inc 文件中,每个节点类型调用其对应的预处理函数。 mytheme_preprocess_node__article 用于文章,mytheme_preprocess_node__bio 用于生物等。是否有在所有这些节点类型上运行的功能?我试图避免使用需要在每个特定预处理函数上调用的函数。提前致谢!

【问题讨论】:

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


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多