Приветствую, форумчане.
Есть тип материала с полем-ссылкой на термин таксономии, по которому вьюсом хочу отфильтновать материал контекстным фильтром. Для словаря pathauto сделал шаблон project/[term:name].
В представлении указываю путь "project/%".
В контекстном фильтре: Content: Имеет идентификатор термина таксономии -> КОГДА ЗНАЧЕНИЕ ФИЛЬТРА ПРИСУТСТВУЕТ В URL ИЛИ ПРЕДОСТАВЛЯЕТСЯ ПО УМОЛЧАНИЮ -> критерий проверки "Идетнификатор термина таксономии" и выбираю нужный словарь.
При переходе по адресу project/term_name1 - страница не найдена. Меню в адресной строке term_name на id термина - фильтрация происходит.
Меняю после этого шаблон Pathauto словаря на [term:tid] - перестает работать. Что я делаю не так?
Помогите с контекстным фильтром
Главные вкладки
Лучший ответ
1
Многие используют для этих целей taxonomy_display, tvi и даже panels.
По мне лучше убрать поля во вьюхе taxonomy-term, оставить там "пустое" поле пользовательский текст, а вьюхи терминов выводить блоками. Словарь можно указать в настройках контекстных фильтров этих блоков.
Комментарии
Ну тут всё правильно, ожидается же идентификатор (число), т.е. это не term_name1.
Bulk generate? Сделали массовое обновление синонимов?
PS. В принципе, в вашем случае для тестов/отладки вместо кастомного views вполне можно клонировать стандартный Taxonomy term, заменив путь taxonomy/term/% на ваш project/% и дальше экспериментировать с этим представлением. Там уж точно адреса вида project/111 работают, только что проверил. Использовал так же шаблон project/[term:tid] в pathauto.
Bulk generate делал. Проверял синонимы обновились.
Дублировать стандартный Taxonomy term пробовал - тоже самое. Ниже в комментариях к VasyOK я ответил, что не работает из-за совпадения синонима термина и пути в представлении. Понять не могу почему.
"При переходе по адресу project/term_name1 - страница не найдена" - в настройках термина путь посмотрите. Он такой как надо? Если не такой, вбейте руками, сохраните и проверьте вьюху.
в настройках термина путь такой, проверял. Экспериментальным путем выяснил, что фильтр не работает когда синоним термина совпадает с путем в представлении. Например, когда синоним project/term1 у термина и во вьюс путь project/%.
Как только изменить один из путей все начинает работать. Но мне необходимо, чтобы пути совпадали, т.к. у меня другое представление с путем project выводит термины, которые являются в свою очередь ссылками на вьюсь, о котором изначально велась речь, с путем project/%
Если будет алиас совпадать с вьюсовым путём, то естественно, алиас будет более приоритетен.
Воспользуйтесь советом васька ниже про TVI
Многие используют для этих целей taxonomy_display, tvi и даже panels.
По мне лучше убрать поля во вьюхе taxonomy-term, оставить там "пустое" поле пользовательский текст, а вьюхи терминов выводить блоками. Словарь можно указать в настройках контекстных фильтров этих блоков.
Помогло TVI. Спасибо огромное!!
Тут не особо понял про это решение. Конкретно про пустое поле в вьюшке taxonomy-term и про вывод блоками вьюх терминов. Т.е. надо выводить для каждого термина словаря блок и указывать видимость для определенной страницы? Если так, то не особо подошло бы такое решение, потому как делаю сайт для юзера, и список терминов будет пополняться. Надо чтоб было все просто.
И в двух словах, если не сложно, как эту же проблему решить Panels. А то не особо знаком с их возможностями.
"Т.е. надо выводить для каждого термина словаря блок" - для каждого словаря. или нескольких словарей. Те же контекстные фильтрры что и у вьюхи taxonomy-term моэжно у вьюх блоков применить.
panels - без меня.
Спасибо еще раз.