【发布时间】:2013-02-14 07:22:07
【问题描述】:
如何将现有模板文件(另一个视图的模板文件)分配给 Drupal 视图。
我已经有一个模板views-view--search-issue.tpl.php 用于search_issue 视图。有什么方法可以将相同的模板用于另一个视图archive_issue?还是我必须为该模板创建一个新模板?
【问题讨论】:
标签: drupal drupal-6 drupal-views drupal-theming
如何将现有模板文件(另一个视图的模板文件)分配给 Drupal 视图。
我已经有一个模板views-view--search-issue.tpl.php 用于search_issue 视图。有什么方法可以将相同的模板用于另一个视图archive_issue?还是我必须为该模板创建一个新模板?
【问题讨论】:
标签: drupal drupal-6 drupal-views drupal-theming
然后你可能想要实现一些预处理钩子,让你添加一些建议。像这样的东西(它没有经过测试,也许你需要一个不同的钩子,但要得到一个想法):
function phptemplate_preprocess_views_view (&$vars) {
$view = $vars['view'];
if ($view->name == 'archive_issue') {
$vars['template_files'] = 'views-view--search-issue';
}
}
但就像 Aniruddhsinh 所说,最简单的方法就是将所需的代码复制粘贴到相应的模板中。也许你觉得你违反了 DRY manta(不要重复你自己),但在这种情况下,最好不要打破视图模板的模式。只需使用 Aniruddhsinh 解决方案即可。
【讨论】:
转到您的archive_issue 视图并选择模板文件名。从archive_issue 创建一个同名的模板文件,并从views-view--search-issue.tpl.php 中复制内容,用于您的search_issue。将其粘贴到该存档的模板文件中。由于模板更改而清除缓存,您将获得与 search_issue 中相同的模板。
【讨论】: