Вед-дев, Сео, Манимейкинг

Drupal 7 Дочерние термины в родительском термине

Если вы используете стандартный VIEW: taxonomy_term, то наверняка вы заметили, что он не отображает дочерние термины таксономии, например мы имеем такую структуру:

Drupal 7 Дочерние термины в родительском термине

Допустим, мы создали ноду и присвоили ей термин "Конфеты", который является дочерним термином "Кондитерские изделия", а он, в свою очередь, является дочерним для термина "Продукты".

Если мы зайдем в термин "Кондитерские изделия", то мы не увидем нашу ноду в этом термине, также и с "Конфеты". Получается, для того чтобы в родителе была видна нода с термином "Конфеты", этой ноде нужно присвоить сразу 3 категории, что является не очень правильным способом.

Мы поступим иначе, зайдем в стандартный view: texonomy_term и в контекстных фильтрах удалим - Содержимое: Имеет модификатор глубины терминов таксономии, а в Содержимое: Имеет идентификатор термина таксономии (с глубиной) изменим глубину на 2.

Теперь при входе в термин "Продукты" мы увидим все дочерние термины с нодами.

А теперь немного теории о том, как работает глубина в этом случае. Почему мы выбрали именно 2? Потому-что в нашем случае 3х уровневая иерархия терминов таксономии: Продукты -> Кондитерские изделия -> Конфеты. Если у вас эта иерархия 2х уровневая, тогда вам нужно поставить 1, если 4х, то 3. Т.е. счёт идет с нуля.

Дочерние термины во Views Exposed Filters

  1. Идём в Критерии Фильтрации
  2. Добавляем Содержимое: Имеет термин таксономии (с глубиной)
  3. Выбираем необходимый словарь
  4. Выбираем выпадающий список
  5. Ставим галочку на "показывать иерархию в выпадающем списке"
  6. Выбираем глубину, в нашем случае - это 2
  7. Жмём добавить
  8. Ставим галочку на "Раскрыть фильтр"
  9. Сохраняемся и все готово


Комментарии (5)

Целый день бился, спасибо огромное!

Все делаю так, а не выходит, может еще что то нужно?

Семен, если вы делаете все внимательно, как написано в статье, то у вас все должно работать без каких-либо дополнительных действий. Drupal7 & Views3

Может вы мне поможете?
Нужно чтоб по переходу по ссылке термина отображались ноды принадлежащие и дочерним терминам. Уже сутки бьюсь над решением проблемы, облазил кучу форумов/статей - не работает. Так же как у вас написано тоже не хочет работать.
Когда создаю отдельное представление views с выводом определенных материалов и фильтром по полю присвоенного термина то модификатор (with depth) работает и выдаются материалы и дочерних терминов. А на странице термина почему-то не работает. Вот скрин, чего-то не хватает? - saveimg.ru/pictures/11-06-14/d3fb58b0b1f7a9b58c064df89428dd37.jpg

Станислав, 11/06/14 - 15:54

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

Подписаться

Подписка на RSS-лента последние записи из Блога

Комменты

  • Olzhas 11 месяцев 2 дня назад
    Спасибо. С Новым Годом! 
  • Den 11 месяцев 3 недели назад
    В первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. 
  • Гость 11 месяцев 4 недели назад
    Если все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того 
  • Валерий 1 год 3 недели назад
    да можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер 
  • admin 1 год 3 недели назад
    Валерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт 
  • Валерий 1 год 3 недели назад
    захожу на mysql через ssh по команде  
  • admin 1 год 3 недели назад
    Добрый вечер, какой у вас клиент? 
  • Валерий 1 год 3 недели назад
    Здравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? 
  • Eduard 1 год 1 месяц назад
    Видать, домен хороший был. Заявление пробывали писать на мошенника? 
  • Stas 1 год 2 месяца назад
    Ошибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям!