我正在使用Drupal 7并且需要创建一些备用页面tpl,以便我可以拥有页面全宽以及带有一个右侧边栏的页面。我已经阅读了文档并搜索了网络,此时我完全被难倒了。
第1步:我创建了一个名为 test 的新内容类型,并将其设为基本页面。 第2步:我转到template.php文件并为pre_process页面函数添加了以下代码:
if (isset($vars['node'])) {
$vars['theme_hook_suggestions'][] = 'page__'. $vars['node']->type;
}
第3步:我创建了一个名为 page - test.tpl.php 的新页面 第4步:在管理员中>配置>我清除了网站缓存
步骤5:Epic failure ...新创建的页面不呈现,page.tpl.php仍在显示。我试过不同的浏览器&清除缓存无济于事。我不知道我做错了什么,因为我的程序似乎遵循了我研究过的正确步骤。
这里的搜索使我找到了custom page-xxxx.tpl.php doesnt works,但建议实现我已安装的相同预处理代码。
答案 0 :(得分:1)
我在https://drupal.stackexchange.com/questions/36054/how-to-have-a-another-page-tpl-php-file-in-drupal-with-different-regions-and-blo找到了一些很好的信息,这使我能够解决这个问题。
解决方案:
而不是命名自定义页面页面 - yourcustompagename.tpl.php ,请使用以下格式:页面 - 节点 - 23.tpl.php 如果您不确定自定义页面的节点编号导航到内容部分,并将鼠标悬停在自定义创建的基本页面的编辑选项上,Drupal将显示节点编号对你而言。
如一条评论中所述,您还需要通过点击配置>中的清除缓存按钮来清除缓存。表现>清除缓存。您还应该清除上面评论中提到的主题注册表。我找到的用于清除主题注册表的有用工具是 Magic Module ,您可以在https://www.drupal.org/project/magic找到它。安装此模块后,请转到外观> (您的活动主题)设置>开发增强功能并选中“重新构建主题注册表”框