在 Drupal Views 参数中,如何获取节点队列中的节点总数?

Posted

技术标签:

【中文标题】在 Drupal Views 参数中,如何获取节点队列中的节点总数?【英文标题】:In a Drupal Views argument, how can I get the total number of nodes in a nodequeue? 【发布时间】:2011-05-24 14:31:30 【问题描述】:

我正在开发一个包含数千张唱片的数据库的网站,并且正在尝试创建一个“今日专辑”块。我的解决方案是创建一个特定记录的节点队列,创建一个将一年中的当前日期作为参数传递的视图,然后使用该值调用具有相同编号位置的节点队列项。我通过在“Nodequeue:Position”参数设置中提供“默认参数”作为 php 代码来做到这一点。这是我使用的代码:

$nodequeueTotalNodes = 120;
$dayOfTheYear = date("z");
$nodeQueuePosition = $dayOfTheYear % $nodequeueTotalNodes;
return $nodeQueuePosition;

上面的代码令我满意,但我的问题是每次我从节点队列中添加或删除项目时,我都必须手动更改 $nodequeueTotalNodes 的值。

有没有办法从我的队列中提取节点总数来替换上面代码中的“120”?

【问题讨论】:

【参考方案1】:

nodequeue_nodes 表包含队列中的所有节点。像这样的东西应该可以解决问题,其中 qid 是队列 ID:

$nodequeueTotalNodes = db_result(db_query('SELECT COUNT(nid) FROM nodequeue_nodes WHERE qid = %d', $qid));

如果您使用的是子队列,则可以使用一个名为 ssid 的列。

【讨论】:

以上是关于在 Drupal Views 参数中,如何获取节点队列中的节点总数?的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 在视图中获取分类术语列表

(Drupal 6 Views)如何制作一个显示特定节点列表的视图(按节点ID)?

Drupal 7 Views 3:显示显示节点的数量?示例:(显示 5382 个结果中的 3842 个)

如何在 Drupal 6 的视图中显示完整节点?

如何在 Drupal 6 - Views 2 中获取相当高级的关系?

如何在 Drupal 7 中的 URL 中获取视图(上下文过滤器)中的结果