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