我是drupal的新手,我正在试图找出主题视图的方法。我目前有一个名为Category的内容类型,其中包含以下字段:Title,Image和Body。我为上面提到的内容类型创建了一个视图,以便列出我创建的所有类别的视图。 为了自定义主题,我在主题文件夹中创建了一个名为 views 的文件夹,并创建了以下视图文件:
这是我目前在第一个档案中的内容:
<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'],但这种方法似乎确实有效。您能否就如何使用视图显示的类别中的三个字段进行主题建议?
答案 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类等。
如果有效,请告诉我们!