2

我是drupal的新手,我正在尝试弄清楚如何为视图设置主题。我目前有一个名为 Category 的内容类型,其中包含以下字段:Title、Image 和 Body。我为上述内容类型创建了一个视图,以便列出我创建的所有类别的视图。为了自定义主题视图,我在主题文件夹中创建了一个名为views的文件夹,并创建了以下视图文件:

  1. 视图-视图-字段--插件-categories.tpl.php
  2. 视图--插件-categories.tpl.php
  3. 视图-视图-未格式化--插件-categories.tpl.php

这是我目前在我的第一个文件中的内容:

<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'] 和 print $field['body'] 而不是 $rows,但这种方法似乎确实有效。您能否建议我如何在类别中使用视图显示三个字段的主题?

4

1 回答 1

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 的内容!如果您有任何关于 $rows 的信息,则说明您没有从正确的视图模板中复制和粘贴。只需使用上面的语法按照您想要的任何顺序输出您希望它们出现在视图中的字段,然后放入您想要的任何 css 类等。

让我们知道这是否有效!

于 2013-03-20T21:03:21.037 回答