未使用自定义 Drupal 主题模板文件

问题描述 投票:0回答:2

我正在尝试组织我的主题文件夹,其中包含数十个视图的节点主题覆盖。 基本上我有两种不同的风格,我希望它们看起来或多或少相同。

template.php 中有没有办法可以做到这一点?最好的方法是什么?

我在主题的 hook_preprocess_node 函数中尝试了这段代码:

switch($vars['view']->name) {
 case 'taxonomy_term' :
   switch($vars['view']->current_display) {
     case 'page' :
       array_push($vars['template_files'], 'list-view');
     default :
       break;
   }
   break;
 default :
   break;
}

当我查看主题开发人员时,我可以在那里看到 list-view.tpl.php 文件,但它实际上并没有使用我的主题目录中的该文件。我错过了什么?

php view drupal drupal-theming drupal-themes
2个回答
3
投票

正如您在 theme() 中看到的那样,Drupal 只会实际使用根据 drupal_discover_template() 存在的模板。

您应该尝试弄清楚是否是这种情况。

  • includes/theme.inc 的 theme() 函数中放置一些调试代码,以查看
    drupal_discover_template()
    对于各种模板调用返回什么。

它能找到吗? 如果没有:

  • drupal_discover_template()
    中放置一些调试代码,以找出 Drupal 认为它不再是模板的位置。

我的直觉说,这是由于模板文件所在的子目录,但您尚未将其添加到

template_files
变量中:views/lists/some_list.tpl.phpsome_list 不同。 tpl.php.


1
投票

您需要重建缓存才能获取 tpl.php 文件。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.