Вредная таксономия
Posted 31st Январь, 2010 in by Starche
В общем мне нужно вывести ссылки на дочерние термины в области основного контента страницы при щелчке на их родительский термин, отображенный в меню, выпадающие меню отпадают.
Более подробно проблему описывал на оф форуме друпала
К сожалению ответа на вопрос не нашел, теперь вся надежда на этот форум.


9 comments so far:
RemaGe
Попробуйте сделать это с помощью Views. Там не так сложно. Делаете вид, который принимает агрумент - родительский термин, и выводит дочерние.
Ну и соответственно Представение-Блок, со списком родительских терминов ссылающихся на первое представление.
Starche
Разобрался Views'ом, все оказалось довольно просто, огромное вам спасибо =)
Неизвестный
Сделал такой вид:
Arguments - Таксономия: Vocabulary ID с настройками:
Action to take if argument is not present: Fixed entry = 3 /* нужный словарь со статьями */
Fields - Таксономия: Term с настройками:
Link this field to its taxonomy term page - enabled
Представление - Страница.
Ожидал, что он выведет все ссылки на термины словаря №3. Но вид вывел столько ссылок на термин, сколько статей в него входит, т.е. термин "История" выводится 3 раза подряд, если к нему относятся 3 статьи из этой категории. Как ограничить вывод?
RemaGe
Там есть параметр Distinct, который позволяет выводить только уникальные записи. Попробуйте
Неизвестный
Пробовал уже, не работает. Не могу понять почему.
Неизвестный
Код запроса с включеным Distinct получается следующий:
SELECT DISTINCT(node.nid) AS nid,
term_data.name AS term_data_name,
term_data.vid AS term_data_vid,
term_data.tid AS term_data_tid
FROM myprefix_node node
LEFT JOIN myprefix_term_node term_node ON node.vid = term_node.vid
LEFT JOIN myprefix_term_data term_data ON term_node.tid = term_data.tid
LEFT JOIN myprefix_vocabulary vocabulary ON term_data.vid = vocabulary.vid
WHERE vocabulary.vid = '3'
GROUP BY nid
Мб нужно подключать какие-то дополнительные модули? В данный момент подключены:
Views 6.x-2.8
Views UI 6.x-2.8
И может ли проблема заключаться в самом MySQL? Тестирую в локалке на денвере.
Неизвестный
Ужасно затупил =( При создании вида выбрал тип Node, а не Term, поэтому выборка делалась по node.nid, а не по term_data.tid. Теперь все безупречно заработало! RemaGe, спасибо за доступные уроки по друпал, сэкономил кучу времени, только вот жаль публикуетесь не часто.
RemaGe
Незачто -)
Taraxacum2010
Здравствуйте,
а можно ли по фильтру (на основе одного многоуровнего словаря)hierarchical_select, вывести таблицу данных на дочерний материал при выборе родительского???
Спасибо.