Drupal 的页面模板适用于建议系统。基于当前 URL,创建了一组可能的模板文件。它循环遍历数组(以相反的顺序)寻找存在的模板文件。它找到的第一个,它将使用。
drupal 的主题系统为你提供了一个修改模板建议的钩子。打开你的 template.php 并找到
function phptemplate_preprocess_page(&$vars) {
$vars 变量是包含建议的内容,特别是 $vars['template_files']
默认情况下,唯一可用的页面建议是
- page.tpl.php
- 页面节点.tpl.php
- 页面节点-[node_id].tpl.php
据我所知, page-node-[node_type].tpl.php 默认情况下不起作用,因此您可能已经修改了 preprocess_page 模板以添加到此功能中。
但是,如果你想添加更具体的模板,你可以做这样的事情......
function phptemplate_preprocess_page(&$variables) {
if ($variables['node']->type != "") {
$variables['template_files'][] = "page-node-" . $variables['node']->type;
$variables['template_files'][] = "page-node-" . $variables['node']->type . "-" . $variables['node']->nid;
}
}
这将允许以下模板建议层次结构
- page.tpl.php
- 页面节点.tpl.php
- 页面节点-[node_id].tpl.php
- 页面节点-[node_type].tpl.php
- 页面节点-[node_type]-[node_id].tpl.php