Всем здравствуйте, не могу разобраться.
Есть вводные:
Два словаря таксономии:
Город
-Москва
-Новосибирск
-Тюмень
Теги
-Новости
-Лайфхаки
-Обновления
Два типа ноды
-Блог (для тегов)
-Объект (для городов)
Настроил страницу views Taxonomy term (из коробки) с переопределением заголовка.
Дублирую страницу Taxonomy term. И тут самое интересное, чтобы не делал - добавляю связь, фильтрую по типу материала, по словарю. Все равно работает лишь один Taxonomy term с заголовком. Не хочет выводить теги с одним заголовком страницы, а города с другим.
Комментарии
Проще переопределить заголовок в препроцессе вывода термина. Там же можно сделать проверку для каких именно словарей
Можно подробнее?))
С каким адресом?
Попробую угадать: с адресом /taxonomy/term/% ?
Можно попробовать при переопределении заголовка использовать условный оператор twig {% if %}, то есть в одном и том же view сделать разные заголовки для разных словарей.
Если честно, не понял... в выводе должны быть ноды с терминами из разных словарей?
Нет. Это две страницы. Одна с терминами теги. Другая с терминами город. У страниц разные заголовки.
Я понял так: для термина "Москва" в контекстном фильтре должны выводиться соответствующие Объекты с заголовком типа "Объекты города Москва", а для термина "Лайфхаки" должны выводиться соответствующие Блоги с заголовком типа "Блоги: Лайфхаки". И самое смешное, что оно так и выводится одной-единственной универсальной вьюхой из коробки, проблема только сделать разные заголовки для разных словарей. Я понял так, возможно неправильно
Да, именно так)) Как сделать разные заголовки?
Для городов: Объекты в городе (значение)
Для тегов Статьи по теме (значение)
То ли я туплю отчаянно, то ли действительно twig внутри views не позволяет подтаскивать поля сущностей по id (tid, nid), если эти id не являются значениями полей entity reference.
Кривое решение №1: добавить во view поле Content Type, скрыть его.
В заголовке прописать что-то типа:
Объекты в городе {{ arguments.tid }}
{% else %}
Статьи с тегом {{ arguments.tid }}
{% endif %}
Проблема: не будет работать, если представление не возвращает ни одной строки.
Кривое решение №2: поставить модуль twig_tweak, вытащить сущность термина по {{ raw_arguments.tid }} , определить словарь, дальше см. кривое решение 1, только не по типу материала (которого не будет в пустом представлении), а по словарю термина-аргумента, который будет в любом случае.
Пробовал, не хочет.
В настройках вьюхи которая выводит термины.
Title: Нет
Контекстные фильтры
Content: Имеет идентификатор термина таксономии
Если значения фильтра НЕТ в URL
Передать значение по умолчанию: ID термина таксономии из URL
Когда значение фильтра присутствует в URL или предоставляется по умолчанию
Переопределить заголовок (галка)
{{ arguments.tid }}
Ну или блок создать с выводом названия термина в заголовок.
Сейчас выводится все правильно из коробки, с одним лишь замечанием, чтобы Теги выводились с одним заголовком, а страница с городами с другим. А сейчас они выводятся под одним. Это не совсем корректно.
Еще вариант. Дублировать вьюху прописать в дублированной другой заголовок и использовать модуль tvi для вывода терминов каждого словаря.
Или я вас не понимаю...
tvi? В том и проблема. Я думал создам две похожие вьюхи. Отфильтрую например по типу материала или по словарю таксономии. Но не получается и хочу понять почему. Работает только одна вьюха в обоих случаях. Другая почему-то игнорируется.
В настройках словаря эта вьюха через tvi укзана.
В предпросмотре вьюхи если номер термина из словаря вбить - показывает то, что нужно?
Еще раз: две разные страницы не могут выводиться по одному и тому же адресу.
Я догадывался, что проблема в этом может быть. Я могу создать две разные вьюхи? Чтобы одна выводила один словарь город . Другая теги. Что тогда прописать в поле patch? Сейчас у обеих прописано taxonomy/term/%. Я пробовал blog/% object/% не хочет выводить.
В принципе можно, но тогда в том месте (местах), откуда юзеры приходят на эти вьюхи, нужно будет поменять ссылки со стандартных taxonomy/term/% на нестандартные.
У меня в каждом словаре и термине прописана ссылка. Как их использовать, что прописать? Ссылки на словари oblect/Название города и blog/имя тега
А должны быть не имена, а id.
Можете привести пример ссылки?
Пробовал по-разному. Не хочет выводить.
Уже массу вариантов перебрал. Так и не решил. Неужели такая сложная задача.
мне кажется вы просто переволновались. Ну или на сайте есть что-то, что блокирует вывод. На чистом сайт попробуйте. В принципе можете дать ссылку на части сайта и написать: как должно быть.
Задача совершенно несложная для любого мало-мальски компетентного сайтбилдера. Все многочисленные предложенные варианты - рабочие. Если у Вас ни один "не хочет" работать, то есть раздел "Поиск специалистов".
Я больше 12 лет занимаюсь Drupal и время от времени появляются задачи, с которыми не сталкивался ранее. Чтобы разобраться в чем причина, бывает, что пишу сюда и прошу помочь тех, кто раньше с этим столкнулся.
Задача "препроцесснуть заголовок" - довольно простая задача, тем более для специалиста с двенадцатилетним стажем
Решу задачу и стану немного опытнее)))
Спасибо большое @VasyOK за помощь. Решается так. Дублируем вьюху, в ней в контекстных фильтрах меняем выводимый заголовок. Идем в на страницу термина и там при помощи модуля tvi выбираем какой вьюхой выодить термин. Tilte можно поменять с помощью модуля MetaTag