Помогите с контекстным фильтром

Аватар пользователя svisch svisch 29 мая 2018 в 20:46

Приветствую, форумчане.
Есть тип материала с полем-ссылкой на термин таксономии, по которому вьюсом хочу отфильтновать материал контекстным фильтром. Для словаря pathauto сделал шаблон project/[term:name].
В представлении указываю путь "project/%".
В контекстном фильтре: Content: Имеет идентификатор термина таксономии -> КОГДА ЗНАЧЕНИЕ ФИЛЬТРА ПРИСУТСТВУЕТ В URL ИЛИ ПРЕДОСТАВЛЯЕТСЯ ПО УМОЛЧАНИЮ -> критерий проверки "Идетнификатор термина таксономии" и выбираю нужный словарь.
При переходе по адресу project/term_name1 - страница не найдена. Меню в адресной строке term_name на id термина - фильтрация происходит.
Меняю после этого шаблон Pathauto словаря на [term:tid] - перестает работать. Что я делаю не так?

0 Thanks

Лучший ответ

Аватар пользователя VasyOK VasyOK 30 мая 2018 в 2:19
1

Многие используют для этих целей taxonomy_display, tvi и даже panels.

По мне лучше убрать поля во вьюхе taxonomy-term, оставить там "пустое" поле пользовательский текст, а вьюхи терминов выводить блоками. Словарь можно указать в настройках контекстных фильтров этих блоков.

Комментарии

Аватар пользователя OldWarrior OldWarrior 29 мая 2018 в 22:17
1
svisch wrote:

...В контекстном фильтре: Content: Имеет идентификатор термина таксономии... критерий проверки "Идетнификатор термина таксономии"... При переходе по адресу project/term_name1 - страница не найдена. Меню в адресной строке term_name на id термина - фильтрация происходит....

Ну тут всё правильно, ожидается же идентификатор (число), т.е. это не term_name1.

svisch wrote:

Меняю после этого шаблон Pathauto словаря на [term:tid] - перестает работать. Что я делаю не так?

Bulk generate? Сделали массовое обновление синонимов?

PS. В принципе, в вашем случае для тестов/отладки вместо кастомного views вполне можно клонировать стандартный Taxonomy term, заменив путь taxonomy/term/% на ваш project/% и дальше экспериментировать с этим представлением. Там уж точно адреса вида project/111 работают, только что проверил. Использовал так же шаблон project/[term:tid] в pathauto.

Аватар пользователя svisch svisch 30 мая 2018 в 2:09

Bulk generate делал. Проверял синонимы обновились.
Дублировать стандартный Taxonomy term пробовал - тоже самое. Ниже в комментариях к VasyOK я ответил, что не работает из-за совпадения синонима термина и пути в представлении. Понять не могу почему.

Аватар пользователя VasyOK VasyOK 29 мая 2018 в 22:16

"При переходе по адресу project/term_name1 - страница не найдена" - в настройках термина путь посмотрите. Он такой как надо? Если не такой, вбейте руками, сохраните и проверьте вьюху.

Аватар пользователя svisch svisch 30 мая 2018 в 2:05

в настройках термина путь такой, проверял. Экспериментальным путем выяснил, что фильтр не работает когда синоним термина совпадает с путем в представлении. Например, когда синоним project/term1 у термина и во вьюс путь project/%.
Как только изменить один из путей все начинает работать. Но мне необходимо, чтобы пути совпадали, т.к. у меня другое представление с путем project выводит термины, которые являются в свою очередь ссылками на вьюсь, о котором изначально велась речь, с путем project/%

Аватар пользователя Semantics Semantics 30 мая 2018 в 2:25
1

Если будет алиас совпадать с вьюсовым путём, то естественно, алиас будет более приоритетен.
Воспользуйтесь советом васька ниже про TVI

Аватар пользователя VasyOK VasyOK 30 мая 2018 в 2:19
1

Многие используют для этих целей taxonomy_display, tvi и даже panels.

По мне лучше убрать поля во вьюхе taxonomy-term, оставить там "пустое" поле пользовательский текст, а вьюхи терминов выводить блоками. Словарь можно указать в настройках контекстных фильтров этих блоков.

Аватар пользователя svisch svisch 30 мая 2018 в 11:17

Помогло TVI. Спасибо огромное!!

VasyOK wrote:

По мне лучше убрать поля во вьюхе taxonomy-term, оставить там "пустое" поле пользовательский текст, а вьюхи терминов выводить блоками. Словарь можно указать в настройках контекстных фильтров этих блоков.

Тут не особо понял про это решение. Конкретно про пустое поле в вьюшке taxonomy-term и про вывод блоками вьюх терминов. Т.е. надо выводить для каждого термина словаря блок и указывать видимость для определенной страницы? Если так, то не особо подошло бы такое решение, потому как делаю сайт для юзера, и список терминов будет пополняться. Надо чтоб было все просто.
И в двух словах, если не сложно, как эту же проблему решить Panels. А то не особо знаком с их возможностями.

Аватар пользователя VasyOK VasyOK 30 мая 2018 в 11:43

"Т.е. надо выводить для каждого термина словаря блок" - для каждого словаря. или нескольких словарей. Те же контекстные фильтрры что и у вьюхи taxonomy-term моэжно у вьюх блоков применить.
panels - без меня.