如何使用不同的drupal页面模板?
我有两个页面模板文件,一个是“page.tpl.php”,另一个是页面子集 如何仅将此其他模板应用于某些页面,而将其他页面默认应用于page.tpl.php如何使用不同的drupal页面模板?,drupal,templates,Drupal,Templates,我有两个页面模板文件,一个是“page.tpl.php”,另一个是页面子集 如何仅将此其他模板应用于某些页面,而将其他页面默认应用于page.tpl.php 谢谢!我在玩Drupal6 在Drupal中,模板遵循所谓的“建议” 对于页面,使用url路径建立建议 在page/foo/bar上,您可以将page.tpl.php命名如下: page.tpl.php page-foo.tpl.php page-foo-bar.tpl.php Drupal将从最具体的到最不具体的,然后选择第一个找到的
谢谢!我在玩Drupal6 在Drupal中,模板遵循所谓的“建议” 对于页面,使用url路径建立建议 在page/foo/bar上,您可以将
page.tpl.php
命名如下:
- page.tpl.php
- page-foo.tpl.php
- page-foo-bar.tpl.php
首页没有路径(显然),但对fron页的建议确实存在:
page front.tpl.php
将仅用于frontpage。您可能还想查看该模块,它允许为一组页面选择单独的主题。页面的选择与块显示配置页面上的选择相同-在除列出的页面之外的每个页面上显示,仅在列出的页面上显示,显示以下PHP代码是否返回TRUE
我在我创建的一个网站上使用了它,效果非常好。除了Drupal的默认建议系统之外,您还可以在主题中实现模板预处理页面并更改模板建议数组:
function my_theme_preprocess_page(&$vars) {
if ($vars['some_var'] == 'some_value') {
$vars['template_files'][] = "page-special";
}
}
看
您还可以强制创建模板文件,而不是添加建议:
function my_theme_preprocess_page(&$vars) {
if ($vars['some_var'] == 'some_value') {
$vars['template_file'] = "page-special";
}
}
如果您想找到任何内容的模板建议,请使用,wich添加了一种firebug控制台,允许您选择页面上的任何项目,并将为此显示大量主题信息。包括所有建议。它不是双破折号,即page--foo,而不是page foo吗?尽管如果您需要根据页面更改page.tpl.php,那么您需要使用其他建议。如果我不帮忙,很抱歉。答案在drupal 7中不起作用,使用
$vars['theme\u hook\u suggestions'][]='page\u special'代码>有效,即它加载了页面--special.tpl.php
显示在我的主题目录中