Листание нод которые содержат текущую категорию

Главные вкладки

Аватар пользователя rain man rain man 20 марта 2012 в 13:29

Добрый день. Не могли бы вы мне помочь в таком вопросе?
Я делаю листалку для нод (типа prev/next).
Есть категории, и мне нужно чтобы переходя ссылкам (next/prev) в ноде(мы могли листать только те ноды , которые относятся к данной категории, а не все подряд).
вот пример кода
function next_page_link($node){

$next_nid = db_query("
SELECT node.nid FROM {node} as node INNER JOIN {taxonomy_index} as ti ON node.nid = ti.nid
WHERE node.created > :created AND node.type = :type AND node.status = 1
AND ti.tid IN (:tid)
ORDER BY node.created DESC
LIMIT 1",
array(':created' => $node->created,':type' => $node->type,':tid'=>....))
->fetchObject();

if($next_nid) {
return '/'.drupal_get_path_alias('content/'.$next_nid->nid);
}
else {
return false;
}
}

Вопрос в том что мне нужно в ':tid'=>... передать термин id (тоесть термины которые относятся к данной ноде), я новичок в друпале, просто не знаю как это сделать, как вытащить tid ноды для данного случая.
Благодарю за ответ.

Комментарии

Аватар пользователя hahentiy hahentiy 20 марта 2012 в 18:05

taxonomy_node_get_terms_by_vocabulary
кажется, это.
Полагаю, что словарь категорий для листалки используется один или он определяется в задаче явно.

Функция из АПИ для шестерки, надеюсь, она мигрировала.

Аватар пользователя rain man rain man 20 марта 2012 в 18:17

Спасибо, но у меня используется не один словарь, а для разных категорий свои словари с терминами. Но попробую ваш вариант