Drupal 7 不使用模板建议

问题描述 投票:0回答:1

我已将以下内容添加到我的 template.php 文件中的 [themename]_preprocess_page 函数中:

<?php
  if ($variables['is_front'])
  {
    $variables['theme_hook_suggestions'] = array();
    $variables['theme_hook_suggestions'][] = 'page__index';
  }

  if (isset($variables['node'])) {
    // If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
    $variables['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $variables['node']->type);
  }

如果我在 $variables 数组上运行 var_dump,我可以看到,在我的首页上,“theme_hook_suggestions”设置为仅使用“page__index”。 我有一个名为“page--index.tpl.php”的文件。 Drupal 仍然使用 page.tpl.php。

我还注释掉了上面的代码,并将文件重命名为“page--front.tpl.php”,它仍然使用page.tpl.php。 每次更改后我都会清除缓存。

我错过了什么?

编辑:为了帮助澄清,我想覆盖前面页面的整个设计 - 没有列或侧边栏、不同的图形、某些 div 上的不同背景等。我不想覆盖 '节点--' 模板文件(尚未)。

最后,我需要一个与网站其他部分设计不同的静态首页,然后为每种内容类型提供一个自定义节点模板。

php drupal-7 drupal-theming
1个回答
1
投票

我与 #drupal IRC 频道上的优秀人员一起工作并发现了这个问题。 不确定这是代码中的错误还是故意的 - 但您不能使用“索引”一词来表示这些主题建议。 我将内容类型的名称更改为“主页”,瞧!

© www.soinside.com 2019 - 2024. All rights reserved.