我已将以下内容添加到我的template.php文件中,在[theameame] _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的不同背景等等。我不喜欢我想覆盖'node--'模板文件(还)。
最后,我需要一个静态首页,其设计与网站的其他部分不同,然后是每个内容类型的自定义节点模板。
答案 0 :(得分:1)
我与#drupal IRC频道上的精彩人员一起工作并找到了问题。不确定这是代码中的错误还是故意 - 但您不能使用“索引”一词来表示这些主题建议。我将内容类型的名称更改为“主页”,然后瞧!