【问题标题】:Override custom content page markup Drupal 7覆盖自定义内容页面标记 Drupal 7
【发布时间】:2012-05-15 13:58:15
【问题描述】:

虽然我在这里看到了一些关于这个主题的“干净”的答案,但在我的情况下它仍然不起作用,如下所示:在 Drupal 7 中使用完全自定义的主题,我创建了一个自定义内容机器名称 cco_product。我想覆盖为此内容类型生成的页面的页面标记。根据文档,我已经尝试过, page--cco_product.tpl.php 在 tmemes 文件夹中,基于 /module/system/page.tpl.php,但是我在这个文件顶部的 Hello world 没有显示。 感谢帮助

【问题讨论】:

  • 完成了,是节点--cco_product.tpl.php。而且,根据自己的经验,如果覆盖有效,请在测试之前清除缓存!

标签: drupal-7 overriding content-type


【解决方案1】:

首先,尝试清理您的缓存,如果没有帮助,我可以建议您查看页面的模板数组。也许您的某个模块或您的自定义主题会覆盖这样的模板数组:

function MYTHEME_preprocess_page(&$variables, $hook) {   
   //Add multiple suggestions for pages based on Node
   if(arg(1) == 3) {  //For node 3
    $variables['theme_hook_suggestions'][] =  'page__contact';
   } if(arg(1) == 4) {   //For node 4
    $variables['theme_hook_suggestions'][] =  'page__about';
   }
}

【讨论】:

  • 谢谢,从建议中获取信息是真的。我指的是为这些案例找到一种 Drupal 命名约定。最终我很快就找到了正确的匹配节点--product.tpl.php。
猜你喜欢
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
  • 2011-07-08
相关资源
最近更新 更多