将现有显示模板分配给Drupal视图

时间:2013-02-14 07:22:08

标签: drupal drupal-6 drupal-views drupal-theming

如何将现有模板文件(另一个视图的模板文件)分配给Drupal视图。 我已经为views-view--search-issue.tpl.php视图设置了search_issue模板。有没有办法将同一模板用于另一个视图archive_issue?或者我是否有必要为那个创建一个新模板?

2 个答案:

答案 0 :(得分:1)

转到archive_issue视图并选择模板文件名。从archive_issue创建一个具有相同名称的模板文件,并将views-view的search-issue.tpl.php中的内容复制到search_issue中。将其粘贴到此存档的模板文件中。由于模板更改而清除缓存,您将获得与search_issue中相同的模板。

答案 1 :(得分:1)

然后你可能想要实现一些允许你添加一些建议的预处理钩子。像这样的东西(它没有经过测试,也许你需要一个不同的钩子,但想知道):

function phptemplate_preprocess_views_view (&$vars) {

  $view = $vars['view'];
    if ($view->name == 'archive_issue') {
      $vars['template_files'] = 'views-view--search-issue';   
    }

}

但是像Aniruddhinin所说,最简单的方法是在相应的模板中复制粘贴所需的代码。也许你觉得你违反了DRY manta(不要重复自己),但在这种情况下,最好是打破视图模板的模式。只需使用Aniruddhinin解决方案。

来源:Suggested template files for views