0

我想在视图字段或视图 tpl.php 中显示上传到图像字段的图像数量。我怎样才能做到这一点?我的图像域称为boatimages。我试过了,但它显示为 0,而不是正确的数字: < ? php 打印计数($fields->field_boatimages)?>

4

2 回答 2

0

如果你想知道结构,我的建议是安装 devel 模块并使用函数 dpm 来打印变量(print_r() 也可以工作)。如果计数不起作用,那是因为您可能使用了错误的数据。

或者,您可以只在数据库中查询该字段。我将为您提供有关 drupal 7 的说明,但 drupal 6 应该类似。

检查表 field_data_field_boatimages。查看与单个 entity_id 相关的图像列表

然后执行这个查询

SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = ###

其中 ### 是您想知道的 entity_id。如果 arg(0) == node 在您的页面中,您可以通过查找 arg(1) 来获取它。

现在你只需要使用 php power 来打印结果

$query = SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = :eid
$result = db_query($query, array(':eid', $nid))->fetchField();
echo $result;

Drupal 6 将非常相似。表名和查询语法略有不同。例如使用 db_result 而不是 fetchField()

总之祝你好运!

于 2012-05-14T15:23:37.547 回答
0

确认。我不认为 count() 那样工作。

为什么不直接使用视图来做到这一点?查看参数 > 设置,您会看到“显示记录计数”,这似乎是您所需要的。

于 2012-05-14T00:55:56.193 回答