我正在开发一个包含数千张唱片专辑的网站,并且我正在尝试创建一个“当天的专辑”块。我的解决方案是创建特定记录的节点队列,创建一个视图,将一年中当前日期作为参数传递,然后使用此值调用具有相同编号位置的nodequeue项。我这样做是通过在“Nodequeue:Position”参数设置中提供“默认参数”作为PHP代码。这是我使用的代码:
$nodequeueTotalNodes = 120;
$dayOfTheYear = date("z");
$nodeQueuePosition = $dayOfTheYear % $nodequeueTotalNodes;
return $nodeQueuePosition;
上面的代码令我满意,但我的问题是每次在节点队列中添加或删除项目时都必须手动更改$ nodequeueTotalNodes的值。
有没有办法从我的队列中提取节点总数来替换上面代码中的“120”?
答案 0 :(得分:1)
nodequeue_nodes表包含队列中的所有节点。像这样的东西可以做到这一点,其中qid是队列ID:
$nodequeueTotalNodes = db_result(db_query('SELECT COUNT(nid) FROM {nodequeue_nodes} WHERE qid = %d', $qid));
如果你正在使用一个子队列,那么你可以使用一个名为sqid的列。