[РЕШЕНО] Реализация сложной иерархии на сайте

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

Аватар пользователя jonatan jonatan 9 января 2016 в 16:55

Здравствуйте! Подскажите как лучше реализовать такую иерархию на сайте

Страна1
-Города
--Город1
--Город2
-Места
--Место1
--Место2

Страна2
-Города
--Город1
--Город2
-Места
--Место1
--Место2

Делать все в одном словаре с общей иерархией или создавать разные словари лучше? Или вообще реализовывать страны как тип материала? Есть ли модули которые помогают работать со сложной иерархией? Нужно еще чтобы дочерние термины выводились на страницах стран. Буду благодарен за наводку от тех кто реализовывал что-то подобное.

Комментарии

Аватар пользователя bumble bumble 9 января 2016 в 19:11

Из "других" знаю только HS. Преимущество над ним заключено в название SHS.
Он более простой и быстрый, менее функциональный и при этом подходит под Ваши нужды.

Аватар пользователя jonatan jonatan 9 января 2016 в 19:33

Спасибо. А как быть с одинаковыми подтерминами? Т.е. в разных странах будут одинаковые подтермины Города и Места.

Аватар пользователя goodboy goodboy 9 января 2016 в 19:36

Я бы сделал словари Страны, Города, Места. В Города и Места - обязательное поле "Страна" как ссылка на термин.

Аватар пользователя jonatan jonatan 9 января 2016 в 19:53

goodboy wrote:

Я бы сделал словари Страны, Города, Места. В Города и Места - обязательное поле "Страна" как ссылка на термин.

Спасибо за наводку! Так по идеи получается корректно. Только не понятно как реализовать в этом случае ссылку на раздел Города на странице термина той или иной страны. Т.е. заходим на страницу "Россия" на которой ссылка "Города". При клике на которую появляются термины городов этой страны.

Аватар пользователя goodboy goodboy 9 января 2016 в 20:22

Для того, чтобы вывести все города определенной страны, нужно сделать вьюв по словарю Города с параметром Страна, передать значение по-умолчанию "ID термина таксономии из URL"

Аватар пользователя jonatan jonatan 9 января 2016 в 20:02

Я так понимаю надо не ссылку на термин делать а связь через Entity Reference? Сделал такое поле для терминов из словаря Страна и Город. Но когда указываю в городе страну, он автоматически не ставится в поле города в стране. Как это можно сделать? Или я вообще не то делаю?

Аватар пользователя goodboy goodboy 9 января 2016 в 21:01

Не очень понимаю, что требуется в итоге. Тут палка о двух концах - можно в один словарь иерархический все поместить, будет работать иерархия; если же в несколько словарей - удобств "с коробки" не будет, но более правильная структура, как мне кажется

Аватар пользователя jonatan jonatan 9 января 2016 в 20:35

goodboy wrote:

Для того, чтобы вывести все города определенной страны, нужно сделать вьюв по словарю Города с параметром Страна, передать значение по-умолчанию "ID термина таксономии из URL"

Спасибо! А как теперь ссылку на этот вьюс прикрепить к термину страны?

Аватар пользователя goodboy goodboy 9 января 2016 в 21:11

Например, термин страны Россия taxonomy/term/5 , вьюв /towns , по умолчанию это будет равносильно /towns/5 .
Страну тоже можно вывести вьюсом

Аватар пользователя jonatan jonatan 9 января 2016 в 21:37

Да, спасибо, это работает. Я могу вывести вьюс с городами на странице термина (с помощью модуля связи с вьюсами) но никак не могу разовабраться как вывести простую ссылку на этот вьюс. /towns/5 - это я понял, это можно вручную прописать, но как автоматом выводить ссылки со страниц терминов на этот вьюс?

Т.е. я нажимаю на термин Россия, открывается страница на которой описание термина и ссылка "Города" по клике на которую можно перейти на список городов.

Аватар пользователя jonatan jonatan 10 января 2016 в 0:35

goodboy wrote:

Термины можно настроить на вьюв - http://xandeadx.ru/blog/drupal/444 .

А нельзя без этого модуля никак? Я просто уже использую Display Suite для настройки вида страницы термина. Фактически нужно как то передать аргумент термина страны через ссылку.