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

时间:2011-05-24 14:31:30

标签: drupal views arguments

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

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

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

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

1 个答案:

答案 0 :(得分:1)

nodequeue_nodes表包含队列中的所有节点。像这样的东西可以做到这一点,其中qid是队列ID:

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

如果你正在使用一个子队列,那么你可以使用一个名为sqid的列。