Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Нужна помощь с Views 3 для Drupal 7

Нужна помощь с Views 3 для Drupal 7
, by

Есть следующая задача.

 

есть таксономия в 2-а уровня.

нужно сделать Views для первого уровня с этим я справился 

 

 я сделал views типа таксономия указал словарь таксономии

появилось page. в ней настроил контекстные фильтры (я так понял что тут аргумент указывается) выбрал там термин таксономии "родительский термин" в нём значение по умолчанию тип PHP-code в нём result arg(1) 

в итоге я получил список терминов первого уровня.

 

НО при входе по ссылке терминов первого уровня у меня не создаётся список 2-го уровня, а сразу список нод у которых родитель "выбранный родитель"

 

Как реализовать представление таксономии по уровням.

например : появляется список таксономии перврго уровня в ввиде ссылок

потом мне нужно перейти на уровень ниже. там появится должен ещё один список но уже 2-го уровня . а уже потом при переходе по ссылке термина 2-го уровня у меня должен появится список нод удовлетворяющий 2-ум условиям :)

 

С нетермением жду ответа.

1 answer
votes: 475
Answer

Если вы выводите список терминов, то при создание view нужно указывать, что вы будете выводить список терминов. И я не совсем понял, что именно вы хотите вывести и на какой странице.

 


у меня есть список таксономии. 

вида 

  • -вооружение
        • ---пистолеты
        • ---винтовки
        • ---пулемёты
  • -униформа
    • ---рубашки
    • ---штаны
    • ---обувь
  • -защита
    • ---шлем
    • ---бронижелет

 

мне нужно вывести эту таксономию с посощью views 

 

только сначала список будет из вооружение,униформа,защита

а когда пользователь перейдёт по ссылке (вооружение или униформа или защита)

у него должен появится новый views или как его там назвать, в котором будут дети выбранной ссылки

например если выбранная ссылка "вооружение" то список будет "пистолеты, винтовки, пулёмёты"

и только потом после перехода по одной из представленных ссылок должен появится список нод в которых указаны термины таксономии (вооружение, пистолеты или вооружение, винтовки или вооружение, пулемёты.) и так. далее.

не чего вроде военного.

 

но у меня получилось отобразить только первый уровень таксономии а после перехода по полученным ссылкам, появляется сразу список нод, в которых есть этот термин таксономии. А ВТОРОЙ УРОВЕНЬ ТАКСОНОМИИ НЕ ПОКАЗЫВАЕТСЯ. :(

 

вот собственно в этом и проблема.


Используйте модуль views tabs или что-то в этом духе, что интегрирует VIews и jQuery UI Tabs (из набора виджетов jQuery UI). Были даже готовые модули ajax-табов. Вам скорее всего потребуется два View, один для первого уровня, второй с аргументом родительского термина, по которому будут выводиться дочернии.


к сожалению нечего не понятно.

я так понимаю мне нужно зделать вьюхи для каждого поттермина ?

а как это сделать :(


постараюсь объяснить по другому что мне нужно.

 

Есть словарь таксономии 2-х уровневый

 

есть тип материала в котором есть поля term referens и выбрано 2-а термина таксономии 1-й уровень и 2-й уровень моего заранее созданного словаря.

 

нужно сделать views в котором отображается сначала список ссылок первый уровень словаря таксономии а после вхождения показывается новый список ссылок терминов 2-го уровня родителем которых явояется выбранный до этого термин 1-го уровня.

и уже вхождения в этот уровень покажет ссылки на ноды моего материала в котором указаны эти 2-а предидуших термина. (1-го и 2-го уровня). и подходят по условию

 

мне нужно сделать views на представление таксономии иерархическое и я так понимаю views для отображения ссылок на ноды. как это всё связать вместе хоть убейте не получается.

 

Drupal 7 views 3

 

Жду ответа

 

 


сделал views назвал его ViewsLvl1 тип таксономии, выбрал нужный мне словарь.

в настройка 

КОНТЕКСТНЫЕ ФИЛЬТРЫ

добавил родительский термин, в разделе 

WHEN THE FILTER VALUE IS NOT IN THE URL

там выбрал Обеспечить значение по умолчанию и пункт PHP-code и написал там result arg(1)


дальше сделал ещё один views и назвал его viewsLvl2 типа таксономии, выбрал нужный словарь

путь указал /taxonomy/term/%

в КОНТЕКСТНЫЕ ФИЛЬТРЫ

добавил родительский термин, в разделе 

WHEN THE FILTER VALUE IS NOT IN THE URL

там выбрал 

NO RESULTS BEHAVIOR

в View to insert выбрал taxonomy_term - дисплей: default

и выбрал  


в итоге я получил сначала список ссылок на 1-й уровень таксономии и переход на уровень ниже.

а вот уже когда перехожу на уровень нод то там пусто.

 

я думаю нужно ещё сделать views который отображает список нод подходящий под выбранные термины как это сделать ?


КОНТЕКСТНЫЕ ФИЛЬТРЫ

добавил родительский термин, в разделе 

WHEN THE FILTER VALUE IS NOT IN THE URL

там выбрал Обеспечить значение по умолчанию и пункт PHP-code и написал там result arg(1)

дальше сделал ещё один views и назвал его viewsLvl2 типа таксономии, выбрал нужный словарь

путь указал /taxonomy/term/%

В контекстных фильтрах должен быть специально для терминов таксономии заготовка: arg(1) в этом случае вернет слово term.

Наверно нужно использовать модули дополнительно View in view или Embed Views fields (не уверен как называется сейчас, но который позволяет вставлять view в поле другого view) и передавать ему аргумент. Но это очень, очень сильно загружает оперативную память.

Еще как вариант можно использовать Embed Views и вставлять его в шаблон, но это тоже плохой путь будет много есть оперативной памяти.

То что вы хотите сделать не получится сделать стандартными аргументами views, потому что аргументы должны браться как со страницы нод, так и со страницы терминов таксономии (если я правильно понял), это не получится сделать через один или даже  2 view без связки.

 


http://www.drupal.ru/node/60911?page=1