【问题标题】:Drupal 7 - How to override template for page like node/%/custompageDrupal 7 - 如何覆盖 node/%/custompage 等页面的模板
【发布时间】:2014-09-08 03:26:43
【问题描述】:

关于在 Drupal 中覆盖特定页面的模板,例如“node/%/custompage”,我有一个小问题。 正如我们所知道的

node/% is : page--node.tlp.php 
node/%/edit : page--node--edit.tpl.php

How about a custom page (I created in my custom module) like this 
node/%/custompage
I tried : page--node--custompage.tpl.php

但它似乎不起作用。 谢谢。

【问题讨论】:

  • 为什么不只是 node--{node-id}.tpl.php?或节点--{node-type}.tpl.php?如果 custompage 是自定义内容类型。如果要在很多地方使用,您可能想尝试 progzy 的建议

标签: php drupal-7 drupal-theming


【解决方案1】:

您必须检查“Drupal 7 Template (Theme Hook) Suggestions”页面:https://www.drupal.org/node/1089656

此外,您还可以添加自己的主题挂钩建议。你可以实现类似的东西:

   /**
    * Implementation of hook_preprocess_HOOK().
    */
    function mymodule_preprocess_page(&$variables){
      if(arg(0) == 'node' && arg(2) != 'custompage')
        $variables['theme_hook_suggestions'][] = 'page__custompage';
    }

【讨论】:

    【解决方案2】:

    我弄错了,我们可以使用page--node--custompage.tpl.php 我使用了netbean并且路径错误“page--node--custompage.tpl.php.php”,我们需要清除所有缓存才能应用它。 谢谢大家

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多