[РЕШЕНО] Вывести материалы типа во Views с фильтром по термину таксономии

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

Аватар пользователя Shipovnix Shipovnix 22 марта 2016 в 16:17

Прошу, сильно не пинайте. То ли Гугл от меня прячет результаты поиска, то ли я туплю неимоверно, ибо только знакомлюсь с этими технологиями. Скорее, второе.
Есть тип материала Акция, в нем обязательный термин таксономии из словаря Категории. Список категорий выводится во Views, это у меня получилось.
Далее, по щелчку на термин выводится список материалов с данным термином в виде анонса (URL: taxonomy/term/%term). В свою очередь, по щелчку на анонс - выводится страница материала (URL: node/%node).
Хочется:

  • По щелчку на термин Категории открыть Views со списком материалов Акция в виде анонса
  • По щелчку на анонс материала открыть Views с полным содержимым материала Акция

Прошу помощи с заменой страниц отображения подробностей термина и материала страницами Views, а также с детальной настройкой связей и контекстной фильтрации Views.

Комментарии

Аватар пользователя Studio VIZA Studio VIZA 23 марта 2016 в 2:31
1

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

Аватар пользователя Sadchenko Sadchenko 23 марта 2016 в 3:10
1

Как я понял, (а мог и не понять) тут просто нужно включить вьюху страниц таксономии и там переопределить шаблоны. Ну а в самих нодах node--NODE_TYPE.tpl.php уже затемизировтаь тизер и полную ноду!

Аватар пользователя Shipovnix Shipovnix 23 марта 2016 в 8:36

Ссылку на пример дать не могу, нигде не хостуется пока, только на Денвере. Попробую описать.
Начну с первого вопроса. Есть страница термина таксономии, на которой, помимо термина, выводятся тизеры материала с термином. Я создал для типа материала представление с критериями фильтрации

  • Содержимое: Опубликовано (Да)
  • Содержимое: Тип (= Акция)

и указал путь

  • /node/%node

Когда я на странице термина с тизерами материалов типа "Акция" щелкаю по ссылке тизера (/node/22), то у меня: Страница "/node/22" не найдена. . Если
Отсюда вопрос: как (желательно пошагово) привязать вьюху к материалу? Или правильнее будет править щаблон tpl? Спасибо всем за участие!

Аватар пользователя Sadchenko Sadchenko 23 марта 2016 в 8:34
1

Shipovnix wrote:

и указал путь

  • /node/%node


Путь неправильный. Делай в качестве аргумента, id термина таксаномии с глубиной!

Аватар пользователя Sadchenko Sadchenko 23 марта 2016 в 8:36
1

Хотя стоп. я опять не догнал! Зачем вообще было делать путь node/%node?
Фильтрацию ты должен делать на уровне таксономии, когда у тебя все тизеры.

Аватар пользователя Shipovnix Shipovnix 23 марта 2016 в 8:53

На уровне таксономии, на странице термина, фильтрация работает. Вылазят правильно отфильтрованные тизеры. А вот когда щелкаешь по тизеру, хочется, чтобы полное содержимое материала отображалось в созданной вьюхе.
Вот и не знаю как. Для разнообразия во вьюхе вместо адреса /node/%node подставил /node/%, так материал действительно стал выводиться во вюьхе, но, помимо этого, в этой же вьюхе стали выводиться вообще все материалы, всех типов. Туплю.

Аватар пользователя Shipovnix Shipovnix 23 марта 2016 в 9:09

Тут вот в соседней теме http://www.drupal.ru/node/125648 пишут, что применять Views для необходимого отображения материала - моветон, надо использовать tpl, но я в этом направлении пока чуть менее чем нуб. Буду признателен за наводку на мануал!

Аватар пользователя DivaDii DivaDii 23 марта 2016 в 9:40
1

А я не понимаю, зачем для типа материала в данном случае делать представление?

Вьюс taxonomy/term/%term с перечнем материалов у Вас работает нормально?

Путь к нодам /node/%node указывать не надо. Зачем?

Если настроите нормально тизеры или поля со ссылкой на ноды, - то эти ноды будут сами волшебным образом открываться по ссылке.

===

И не касается данного вопроса, но подозреваю, что Вам это понадобится для других целей.
Очень во многих случаях помогает использование Вьюс + Entity Reference + поле Node reference

Это нужно для того, чтобы, допустим, какой-то вьюс выводить в некоем типе материала, указывая аргумент - ID (термина, например).

Аватар пользователя VasyOK VasyOK 23 марта 2016 в 16:59
1

Ссылку на пример - на похожем сайте (какой хотите).

Пока понял, что нужны модули Taxonomy menu и Views Selective Filters.
Не угадал - извините.

Аватар пользователя Shipovnix Shipovnix 23 марта 2016 в 19:15
1

Короче, получилось. Для отображения материала определенного типа воспользовался tpl ноды - очень удобно, действительно, незачем тут вьюха. Также поставил taxonomy_display, настроил отображение терминов во вьюху, поигрался со связями и контекстными фильтрами - решил все вопросы по поводу отображения терминов и связанного материала.
Спасибо всем за наставление на путь истинный, учусь дальше!
P.S. Шаблоны вывода tpl - сила, Джумла тут проигрывает сильно.

Аватар пользователя VasyOK VasyOK 23 марта 2016 в 19:34
1

Шаблоны вывода - только если себе делаете.
А если кому-то, лучше поменьше их трогать:
редактору неудобно искать где инфа правиться;
программисту - чужой лишний код вычищать
верстальщику - искать контейнеры по куче файлов

taxonomy_display - если с метатегами термина разобрались - пользуйтесь.