在 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 6 Views)如何制作一个显示特定节点列表的视图(按节点ID)?
Drupal 7 Views 3:显示显示节点的数量?示例:(显示 5382 个结果中的 3842 个)