如何在Drupal 7中手动主题视图?

时间:2013-03-19 11:59:40

标签: themes drupal-views

我是drupal的新手,我正在试图找出主题视图的方法。我目前有一个名为Category的内容类型,其中包含以下字段:Title,Image和Body。我为上面提到的内容类型创建了一个视图,以便列出我创建的所有类别的视图。 为了自定义主题,我在主题文件夹中创建了一个名为 views 的文件夹,并创建了以下视图文件:

  1. 视图视场 - 插件-categories.tpl.php
  2. 视图视图 - 插件-categories.tpl.php
  3. 视图 - 视图 - 无格式 - 插件-categories.tpl.php
  4. 这是我目前在第一个档案中的内容:

    <div class="<?php print $classes; ?>">
    
    
      <?php if ($rows): ?>
        <div class="view-content">
          <?php print $rows; ?>
        </div>
      <?php elseif ($empty): ?>
        <div class="view-empty">
          <?php print $empty; ?>
        </div>
      <?php endif; ?>
    
    
      <?php if ($more): ?>
        <?php print $more; ?>
      <?php endif; ?>
    
    
    </div><?php /* class view */ ?>
    

    而不是$行,我厌倦了使用print $ field ['image']并打印$ field ['body'],但这种方法似乎确实有效。您能否就如何使用视图显示的类别中的三个字段进行主题建议?

1 个答案:

答案 0 :(得分:2)

您应该像这样命名模板

views-view-fields--<machine-name-of-your-view>.tpl.php

所以我从上面假设您的视图被称为'插件类别'。一种简单的检查方法是在编辑页面上编辑视图并查看URL。它的格式应为 / admin / structure / views / view / YOUR-VIEW'S-MACHINE-NAME / edit ,因此您可以从那里获取。

一旦确定它具有正确的名称,请清除缓存以确保Drupal正在启动新模板。你只需要上面的那个,而不是全部三个来修改有问题的三个字段的输出。

一旦你清除了缓存,Drupal就应该拿起新模板。你没有提到究竟什么不起作用,只是因为它不起作用,所以我想覆盖命名和缓存,以防万一。现在,要输出此视图模板中的特定字段,请按以下方式调用它们:

$fields['your-field-machine-name']

所以$ fields ['body'](我认为你错过了's'

此模板中的$行没有任何内容!如果您有关于$ rows的任何内容,则表示您尚未从正确的视图模板中复制和粘贴。只需输出您希望它们出现在视图中的字段,您可以按照上述语法的任何顺序输入这些字段,并输入您想要的任何css类等。

如果有效,请告诉我们!