themes - 如何在 Drupal 7 中手动设置 View 主题?

标签 themes drupal-views

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

  1. views-view-fields--plugin-categories.tpl.php
  2. views-view--plugin-categories.tpl.php
  3. views-view-unformatted--plugin-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,但这种方法似乎确实有效。您能否建议我如何主题化类别内的三个字段,并使用 View 显示?

最佳答案

你应该这样命名你的模板

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

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

一旦您确定其名称正确,请清除缓存以确保 Drupal 能够选择您的新模板。您只需要上面的一个,而不是全部三个来修改相关三个字段的输出。

清除缓存后,Drupal 应该会选取新模板。您没有具体提到什么不起作用,只是说它不起作用,所以我想介绍命名和缓存,以防万一。现在,要在此 View 模板中输出特定字段,请像这样调用它们:

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

所以 $fields['body'] (我认为你缺少一个 's')

此模板中不应包含有关 $rows 的任何内容!如果您有任何有关 $rows 的信息,则说明您没有从正确的 View 模板中复制并粘贴。只需按照您希望它们出现在您的 View 中的方式输出字段,按照您想要的任何顺序使用上面的语法,然后放入您想要的任何 css 类等。

请告诉我们这是否有效!

关于themes - 如何在 Drupal 7 中手动设置 View 主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498918/

相关文章:

vim - GVim 主题斜体切断字符

php - 从单个帖子获取 Wordpress 类别

php - 显示周围没有页面模板的 Drupal View

php - Drupal hook_views_post_execute 没有被调用

jquery - drupal > View > 暴露的过滤器 > 更改时提交

有关分类术语和用户角色的 Drupal 过滤器 View

c++ - 将 Windows 主题应用于具有 WS_BORDER 样式的自定义控件

Android Edittext 线条颜色

php - mysql 查询需要很长时间

html - 我怎样才能使这个 Wordpress 导航居中?