如何正确设置Drupal 7中的主题视图字段

问题描述 投票:3回答:4

我需要在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?

提前感谢。

performance drupal view drupal-7 drupal-theming
4个回答
3
投票

如果您要在特定字段中创建主题,则可以为该特定字段创建模板,如下所示:views-view-field--field-nameofmyfield.tpl.php将其放置在主题文件夹中然后在“视图”配置的“主题:信息”部分中重新扫描模板。

为此,您必须将字段添加到视图的字段中。


4
投票

可用变量写在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()); ?>

[确保在尝试查看变量之前先清除缓存。


0
投票

要对主题中的信息进行排序,请使用此:


0
投票

如果您想更改视图主题,请像这样更改views-view-fields.tpl.php

© www.soinside.com 2019 - 2024. All rights reserved.