Контекстный фильтр с термином таксономии, который отсутствует в URL-адресе

Я надеюсь, что кто-то может помочь мне приручить зверя, который известен как контекстные фильтры. :) У меня есть ряд узлов, у которых есть определенный термин таксономии, назначенный им (все из того же самого слова), но для моего URL-адреса я не включаю те:

Например:

Словарь имени = видео

У узла есть термины:

-food
--vegetable
---carrot 

, но единственный URL-адрес, который я хочу:

site.com/videos/title-of-node

И тогда все остальные узлы, у которых есть термины на них, будут находиться под каталогом «videos»:

site.com/videos/title-of-another-node
site.com/videos/title-of-yet-another-node

Я создал представление, в котором есть контекстный фильтр, где я хочу отображать только узлы, имеющие термин моркови. И это отлично работает при просмотре на странице просмотров, но при загрузке фактической страницы я получаю список ВСЕХ узлов под термином «еда», потому что у меня есть «КОГДА ФИЛЬТРНАЯ ЗНАЧЕНИЕ НЕ В URL-адресе»> Отобразить все результаты для указанного поля «

Моя основная проблема, я думаю, что «значения контекстного фильтра предоставляются по URL». И мои условия не указаны в URL-адресе. Так почему-то мне нужно вывести термины, связанные с каждым узлом.

Любая помощь будет очень признательна!

7 голосов | спросил Dan 19 Jam1000000amSat, 19 Jan 2013 06:43:25 +040013 2013, 06:43:25

1 ответ


8

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

В этом случае обеспечивается два отношения:

  1. Термин таксономии: содержание с термином;
  2. Таксономический термин: использование контента. {Название поля таксономии в тип контента} *;
  3. Добавить контекстный фильтр типа Content: Title; Используйте первое соотношение для контекстного фильтра. Внесите необходимые изменения в большее количество параметров, например, чтобы изменить размер пространства в нижнем регистре на тире и т. Д .;
  4. Добавьте обязательные поля из содержимого с отношением, установленным в 2);

Вы хорошо пойдете.

РЕДАКТИРОВАТЬ: В соответствии с обсуждением Еще одна необходимость также показать узлы под термином и его суб-терминами.

  1. Создайте представление содержимого типа;

  2. Добавьте обязательные поля;

  3. Добавить контекстный фильтр типа Content: Имеет идентификатор терминов таксономии (с глубиной) и выбирает глубину значения настолько же глубокую, как и иерархия, которую вы имеете в таксономии.

Теперь, когда вы передаете термин id в качестве ввода, он будет отображать все узлы под этим таксономическим термином, включая дочерние узлы.

Если вы хотите изменить URL-адрес, чтобы иметь имя термина вместо термина ID, выполните следующие действия.

  1. В представлении укажите путь как таксономия /термин /%, это переопределит путь таксономии по умолчанию;

  2. Установите Pathauto . Модуль зависит от Tokens , поэтому необходимо также установить это;

  3. В конфигурации -> У псевдонимов URL есть вкладка под названием Patters;

  4. Задайте шаблон «ТАКСОНОМНЫЕ СТАВКИ» для того, что бы вы хотели. Убедитесь, что последнее значение [term: name], поэтому, если вы хотите, чтобы путь был категории /морковь, вы должны указать его как категорию /[term: name];

  5. Если вы уже добавили термины таксономии, вам нужно будет сделать «BULK UPDATE», который снова будет отображаться на странице URL Alias.

Теперь, когда вы посещаете категорию страницы /имя, вы увидите все узлы под термином, включая дочерние термины.

ответил Mohammed Shameem 19 Jam1000000amSat, 19 Jan 2013 11:03:24 +040013 2013, 11:03:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132