2013-03-19 52 views
2

我是新来的dr​​upal,我想弄清楚如何主题视图。我目前有一个名为Category的内容类型,其中包含以下字段:Title,Image和Body。我为上述内容类型创建了一个视图,以便我列出所有创建的类别的视图。 要自定义主题视图我创建了一个叫做意见在我的主题文件夹中的文件夹,并创建了以下视图文件:如何在Drupal 7中手动主题视图?

  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 */ ?> 

取而代之的是$ rows,我厌倦了使用print $ field ['image']并打印$ field ['body'],但这种方法确实有效。您能否就我如何能够在视图中显示的类别内的三个字段主题提供建议?

回答

2

您应该为您的模板这样

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

所以我从上面你的观点被称为“插件类别”假设。一种简单的检查方法是在编辑页面上编辑视图并查看URL。它应该有格式/admin/structure/views/view/YOUR-VIEW'S-MACHINE-NAME /编辑,所以你可以从那里得到它。

确定它名称正确后,清除缓存以确保Drupal正在拾取新模板。您只需要上面的一个,而不是全部三个来修改有问题的三个字段的输出。

一旦你清除缓存,Drupal应该选择新的模板。你没有提到什么是不工作的,只是它没有工作,所以我想覆盖命名和缓存,以防万一。现在,在这个视图模板输出特定领域,称他们是这样的:

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

所以$域[“体”(我想你错过了一个“s”

在这个模板中你应该没有关于$行的信息!如果您有任何关于$行的内容,您没有从正确的视图模板复制和粘贴。只要你想让它们出现在你的视图中,按照你想要的任何顺序输出这些字段,然后输入你想要的任何CSS类。

让我们知道,如果这有效!