2011-05-24 106 views
1

我正在制作一个网站,该网站是数千个唱片专辑的数据库,并且正在尝试创建“当日专辑”版块。我的解决方案是创建特定记录的节点列表,创建一个将当年的当天传递为参数的视图,然后使用此值调用具有相同编号位置的节点列表项。我通过在“Nodequeue:Position”参数设置中提供“Default Argument”作为PHP代码来实现此目的。下面是我使用的代码:在Drupal Views参数中,如何获取节点队列中的节点总数?

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

上面的代码工作让我满意的,但我的问题是,我有我每次添加时间手动更改$ nodequeueTotalNodes的值或者从我nodequeue删除一个项目。

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

回答

1

nodequeue_nodes表保存队列中的所有节点。如果您使用的是子队列中有一栏叫SQID您可以使用

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

:像这样的东西应该做的伎俩,其中QID是队列ID。