2012-06-20 1 views
0

Я пытаюсь создать навигацию «предыдущий/следующий узел» на своих узлах, чтобы показать 2 предыдущих и 2 следующих узла в текущем просматривается. Вот код, который отображает 2 prev и 2 следующих узла, но это не таксономия, i. е. сортирует узлы в соответствии с их идентификаторами:Предыдущая/следующая навигация, которая использует упорядочение/сортировку, отличную от идентификатора узла (n.nid)

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

Если добавить узел в срок, по истечении некоторого времени, он будет отображать этот узел в качестве последнего, а не как «соседа» узла закачанный например, 3 месяца назад.

Я попытался с "n.title", но это ничего не меняет. В идеале, он должен заказывать их либо по названиям, либо по псевдонимам.

Спасибо заранее!

ответ

0

Следующая версия Предыдущий/Следующий модуль имеет несколько вариантов сортировки Предыдущий/Следующий узлов. Вы можете использовать обходной путь, чтобы получить эскизы тоже:

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

0

он не запрашивает таблицы таксономии в запросе базы данных. Вероятно, вы хотите добавить переменную в функцию как dad_prev_next ($ current_node = NULL, $ op = 'p', $ tid), чтобы передать ей идентификатор термина, а затем добавить это к вашему запросу через внутреннее соединение.

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));

+0

Спасибо за ваш ответ, но я новичок кодирования и не знаю, где именно должен Я поставил этот код. Я попытался объединить его с цитируемым кодом, но всегда есть некоторые ошибки. – take2