我有两个页面模板文件,一个只是'page.tpl.php'而另一个是页面子集.
如何仅为某些页面应用此其他模板,其余模板默认为page.tpl.php?
谢谢!我在Drupal 6上.
在Drupal中,模板遵循所谓的"建议".
对于页面,使用url-path构建建议.
在页面/ foo/bar上,您可以page.tpl.php按如下方式命名:
Drupal将从最具体到最不具体的方式看起来并选择第一个找到的.如果找到page-foo-bar.tpl.php,它将使用foo/bar,如果没有找到它将会查找.如果它找到page-foo,它将使用它.
page-foo.tpl.php也将用于/ foo/beserk foo/pirate和foo/parrot,除非你当然要创建一个page-foo-parrot.tpl.php.
首页没有路径(显然),但是对于页面页面确实存在建议:page-front.tpl.php将仅用于首页.
除了Drupal的默认建议系统,您还可以在主题中实现template_preprocess_page并更改模板建议数组:
function my_theme_preprocess_page(&$vars) {
if ($vars['some_var'] == 'some_value') {
$vars['template_files'][] = "page-special";
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅使用模板建议.
您也可以强制模板文件而不是添加建议:
function my_theme_preprocess_page(&$vars) {
if ($vars['some_var'] == 'some_value') {
$vars['template_file'] = "page-special";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8937 次 |
| 最近记录: |