我需要在Drupal 7中主题视图。有一个内容类型为'Book',我需要列出5本书并以特殊方式将它们主题化(预览图像,标题和作者)。
[当我覆盖views-view-field.tpl.php并打印原始SQL结果时,我看到显示了所有字段。此代码
echo "<pre>";
print_r($row);
echo "</pre>";
给予
[entity] => stdClass Object
(
[title] => ...
....
[nid] => 34
...
[body] => Array
...
但是我不想将[body]从数据库传递到php端,因为它可能很大并且会导致性能问题。我尚未在视图设置中选择[正文]。
是否有办法仅将某些字段传递给views-view-field.tpl.php?
提前感谢。
如果您要在特定字段中创建主题,则可以为该特定字段创建模板,如下所示:views-view-field--field-nameofmyfield.tpl.php将其放置在主题文件夹中然后在“视图”配置的“主题:信息”部分中重新扫描模板。
为此,您必须将字段添加到视图的字段中。
可用变量写在sites / all / modules / views / theme文件夹文件内的文档中。
通常,您需要在views-view-fields.tpl.php模板上查看和修改的变量是$ fields
我使用devel模块(http://drupal.org/project/devel)查看可用变量:
<?php
//after enabling the devel module...
dpm($fields);
// This will print a Kuomo display on the page with the array's vars
?>
通常,在节点上,
<?php print $fields['title']->content; ?>
将打印节点标题。对于字段,请尝试
<?php print $fields['field_FIELDNAME']->content; ?>
如果有内存,您可以使用]捕获Kuomo模板中可用的所有var。
<?php dpm(get_defined_vars()); ?>
[确保在尝试查看变量之前先清除缓存。
要对主题中的信息进行排序,请使用此:
如果您想更改视图主题,请像这样更改views-view-fields.tpl.php