如何为特定的视图模式提供模板?

时间:2015-10-12 17:23:18

标签: drupal

我想用模板为搜索结果视图模式设置主题。

我脑子里有一个命名模板文件节点 - 文章 - search-result.tpl.php就可以了,但我显然错了。

我意识到我可以做node-article.tpl.php并且在这个检​​查$ view_mode中,但这对于我不想模板化的所有其他视图模式来说都很尴尬。

想法?

1 个答案:

答案 0 :(得分:0)

在节点预处理函数中添加主题钩子建议应该可以解决这个问题:

function YOURMODULE_preprocess_node(&$vars) {
  if ($vars['node']->type == 'article' && $vars['view_mode'] == 'search_result') {
    $vars['theme_hook_suggestions'][] = 'node__article__search_result';
  }
}

清除缓存后,您应该能够使用node - article - search-result.tpl.php作为模板文件名。

希望它会对你有所帮助。快乐的编码。