Вывод "похожих статей" основываясь на словарях

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

Аватар пользователя server server 31 августа 2007 в 19:17

Нужно сделать вывод блоком в подвале статей которые имеют такой же словарь ( можно и термин, но это не так критично) какой и просматриваемая статья. Я так понимаю нужно просто узнать uid и всё дальше понятно, но вот на странице с нодом этой переменной нет (проверял и записывая код в блок и в devel execute)... Статьи которые я читал предлагали решение, но всё сводилось к тому что выборка статей проводилась по уже заранее известным tid ... Переменные скорее всего локальные и поэтому выход парсить строку uri ? или ещё какой выход есть... Спасибо...

Комментарии

Аватар пользователя alexweb alexweb 1 сентября 2007 в 12:32

Eсли терминов несколько, а даже если только один - можно использовать views.
Необходимо домавить к нему аргумент Term: Term ID и в argument handling code написать код, который получает текущую ноду и все её термины (см выше), формирует массив $args. В нашем случае это должно быть что-то типа
<?php
$args[] = "$term1+$term2+....+$termN"
?>

Поясню, почему так. дело в том, что Views позволяет делать выборку по нескольким терминам либо с условием ИЛИ либо с условием И в рамках одного аргумента. При этом ИЛИ получается если соединять термины с помощью знака "+", а И - с помощью знака ",". Или наоборот. Smile

То есть, если у нас имеется View с ОДНИМ аргументом типа Term ID, то для выборки по нескольким терминам нужно сформировать следующий урл

hxxp://domain.com/view_url/1+2+3

В случае, когда нам нужен блок, а не страница - создается view сначала со страничным видом, настраивается, тестируется. После этого галочка "предоставлять страницу" убирается и ставится для блока. После этого добавляется необходимый код в arguments handling code который и формирует $args соответств. образом.