自定义节点模板(内容类型)不适用于drupal 7

时间:2015-09-14 05:16:19

标签: drupal themes

将以下代码应用到template.php后,自定义节点模板无法在Drupal 7上运行。例如,node - article.tpl.php

function jstheme_preprocess_page(&$variables) {
  if (isset($variables['node']->type)) {
// If the content type's machine name is "my_machine_name" the file
// name will be "page--my-machine-name.tpl.php".
$variables['theme_hook_suggestions'][] = 'page__' .    $variables['node']->type;
  } 
}       

如果我删除上面的代码,node - article.tpl.php正在拾取而不是页面 - article.tpl.php

我认为应该选择页面 - article.tpl.php然后是node - article.tpl.php(如果存在的话)。这个假设是错的吗?

1 个答案:

答案 0 :(得分:0)

以上代码和您的假设是正确的。我尝试在我的本地使用上面的代码它运行正常,因此它将page--article.tpl.php作为页面tpl,对于节点tpl,它花了node--article.tpl.php

检查步骤:

  1. 用template.php编写的hook_preprocess_page将始终优先。