使用与节点ID不同的排序/排序的上一个/下一个导航(n.nid)

时间:2012-06-20 14:54:23

标签: drupal drupal-7 drupal-theming

我正在尝试在节点上创建“上一个/下一个节点”导航,以便在当前正在查看的术语中显示2个前一个节点和下面两个节点。这是显示2个prev和2个下一个节点的代码,但它不是分类法,i。即它根据ID分配节点:

Prev/Next node navigation with a thumbnail in a full node

如果我在一段时间后在术语中添加节点,它将显示该节点作为最后一个节点,而不是作为上传的节点的“邻居”。 3个月前。

我尝试过使用“ n.title ”,但它没有改变任何内容。理想情况下,它应该通过标题或URL别名来排序。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

它不是在查询数据库查询中的分类表。您可能希望将函数添加到函数中,例如dad_prev_next($ current_node = NULL,$ op ='p',$ tid),将其传递给术语ID,然后通过内部联接将其添加到查询中

SELECT n.nid, n.title
FROM {node} n
INNER JOIN {taxonomy_index} t
ON n.nid = t.nid
WHERE n.nid $sql_op :nid
AND t.tid = :tid
AND type IN ('photos')
AND status = 1
ORDER BY n.nid $order
LIMIT 1

我认为应该非常接近,然后在db_query db_query($sql, array(':nid' => $current_node -> nid, ':tid' => $tid));

的末尾传递它

答案 1 :(得分:0)

较新版本的Previous / Next模块有多个选项可用于排序prev / next节点。您也可以使用变通方法来获取缩略图:

http://drupal.org/project/prev_next http://drupal.org/node/1790290