【问题标题】:Assigning existing display template to Drupal view将现有显示模板分配给 Drupal 视图
【发布时间】:2013-02-14 07:22:07
【问题描述】:

如何将现有模板文件(另一个视图的模板文件)分配给 Drupal 视图。 我已经有一个模板views-view--search-issue.tpl.php 用于search_issue 视图。有什么方法可以将相同的模板用于另一个视图archive_issue?还是我必须为该模板创建一个新模板?

【问题讨论】:

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


    【解决方案1】:

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

    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 解决方案即可。

    来源:Suggested template files for views

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的回复。我知道这种方法。我想知道我是否可以使用相同的模板。请让我知道是否有机会。
      猜你喜欢
      • 2022-10-08
      • 2019-07-28
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多