Taxonomy Display и многоуровневая таксономия

Главные вкладки

Аватар пользователя byhgalter byhgalter 24 мая 2014 в 19:17

Приветствую всех. Хочу на сайте реализовать следующую многоуровневую структуру
1. - Карта банкоматов (на этой странице отображается список банков)
2. - Банкоматы конкретного банка (на этой странице отображается список городов, где у данного банка есть банкоматы)
3. - Банкоматы конкретного банка в конкретном городе (здесь отображаются ссылки на страницы конкретных банкоматов)
4. - Страница банкомата с краткой информацией, адресом все такое

Я использую модуль taxonomy display.
При создании вьюхи, я выставил контекстный фильтр Содержимое: Имеет идентификатор термина таксономии (с глубиной).
В результате у меня получилось следующее:
1. - Карта банкоматов (Отображаются все страницы банкоматов всех банков всех городов)
2. - Банкоматы конкретного банка (Отображаются все страницы банкоматы этого банка)
3 и 4 позиции у меня получились именно так, как я и хочу.

Подскажите пожалуйста, как сделать так, чтобы на страницах терминов верхнего уровня отображались не ВСЕ МАТЕРИАЛЫ, дочерних терминов, а СПИСОК ДОЧЕРНИХ ТЕРМИНОВ. Может я что то не так выставил в настройках.

Чтобы решить эту задачу, я изначально использовал модуль tvi, но пришлось от него отказаться, потому что он для страницы термина переопределяет вывод таким образом, что на ней выводится только вьюха, и нельзя добавить другуй информацию.

Модуль же taxonomy display дисплей решает эту проблему, но возникает другая.

В общем, кто знает как решить проблему, подскажите пожалуйста.

Комментарии

Аватар пользователя VasyOK VasyOK 25 мая 2014 в 18:14

"byhgalter" wrote:
tvi, но пришлось от него отказаться, потому что он для страницы термина переопределяет вывод таким образом, что на ней выводится только вьюха, и нельзя добавить другуй информацию.

какую такую информацию нельзя добавить?

Аватар пользователя byhgalter byhgalter 25 мая 2014 в 18:16

например, сверху списка банкоматов, я хочу добавить яндекс карту и краткое сео описание.
С модулем taxonomy display это как раз получается.

Аватар пользователя byhgalter byhgalter 26 мая 2014 в 17:58

VasyOK wrote:
К термину таксономии приделываем 2 поля:
описание (если не устраивает описание термина)
карта

Потом во вьюхе в заголовок выводим эти поля кодом. Пример тут:
http://www.drupal.ru/node/109004[/quote]

Спасибо. Теперь я на правильном пути.

Аватар пользователя pindzak pindzak 2 апреля 2015 в 9:43

Долго бился над этим вопросом, нашел более гибкое решение, без PHP, хочу поделиться, думаю будет полезно:

Структура аналогичная автору - двухуровневая таксономия + views + taxonomy display.

1. Для отображения catalog/term_parent/term_child использую views с адресом вида catalog/%/%
Контекстный фильтра "содержимое имеет идентификатор термина таксономии" без глубины! Проверка по ID термина.
Значение "если фильтра НЕТ в УРЛ" - вывести текст "ничего не найдено"
Поведение при отсутствии результатов - Область представления, с наследованием контекстных фильтров. Указываем Views для term_parent

2. Для catalog/term_parent делаем второе представление, в котором выводим не нода, а дочерние термины.
Добавляем отношение - Термин таксономии: родительсикй термин.
Добавляем фильтр Термин таксономии с использованием вышеупомянутого отношения.

3. Ну и для словаря таксономии с помощью Taxonomy display устанавливаем вывод с помощью ПЕРВОГО представления.

4. К слову сказать, alias'ы терминов переопределены через pathauto, нормально подхватываются в URL, в итоге структура сайта стройная и красивая.

Собственно, смысл работы:
Страница дочернего термина подменяется на view, в итоге в контектсный фильтр передаётся не alias, а ID Термина, так что URL хорошо подхватывается.
Если дочернего термина в УРЛ нет, но есть родительский, то представление вызывает другое представление (fucking magic!) и передаёт в него ID термина. С помощью отношения мы выдёргиваем все дочерние термины для этого родительского.
Собственно, всё Smile