php - 预处理节点:调用所有节点类型的函数
问题描述
在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
推荐阅读
- flutter - Flutter - 关于类、键以及如何使用它们的所有信息
- azure-devops - 如何在 Azure DevOps 中限制 wiki 中的 TOC 级别
- python - 如何使用 selenium webdriver 按接受按钮?
- javascript - 当我尝试创建 EJS 模板时,终端向我发送了一个错误
- firebase - 将网页转换为 Google chrome 扩展程序
- ios - 如何在特定索引后删除 Tableview Cell?
- c# - 在 jwt 令牌验证失败后继续授权
- amazon-web-services - 如何连接到在 AWS ec2 实例中运行的 MongoDB,作为 Azure 中的 Azure 数据迁移服务 (DMS) 的来源。?
- reactjs - 如何将星期几更改为 SUN、TUE 等
- cmd - 尝试在 Windows 10 上复制 tar 输出格式