Вывод нод, у которых значение поля, совпадает со значением поля User Account

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

Аватар пользователя ScorpionGhost ScorpionGhost 29 сентября 2018 в 18:41

Доброго времени суток.
Помогите, будьте добры, с пониманием такой ситуации.

У пользователя есть поля: Страна, Область и Город, у материалов, которые добавляются на сайте - те же поля. Как сделать, чтобы пользователь заходил на сайт, и ему отображались только те материалы, которые совпадают по значениям в данных полях. Приоритет отображения - сначала материалы по городу, потом по области.

Рассматриваю варианты с таксономией, модулем Address, ""Place Autocomplete Address Form" от Google и простыми текстовыми полями, либо встроенными в модуль Address.

С одной стороны, не хочу забивать словарь/словари таксономии избыточным количеством терминов, которые могут быть никогда не востребованы, с другой стороны - опасаюсь, что пользователи нагородят там вариантов, самостоятельно добавляя термины в момент регистрации. Чтобы избежать, склоняюсь к использованию ""Place Autocomplete Address Form" от Google и текстовых полей (Страна, Область, Город)

Подскажите, как подобное решается грамотно, с учётом особенностей Drupal 8, может быть примером решения, или ссылкой на модуль. Модулей знаю много и со многими работал, но для конкретной ситуации не вижу более подходящего, нежели Geolocation Field, с некоторыми доработками.

Сайт, предполагает наличие материалов, привязанных к различным городам и пользователей из этих городов, которые должны иметь возможность, изначально видеть материалы своего региона. Сайт, будет максимально реализован через Apache Solr и Facets API

Комментарии

Аватар пользователя adano adano 30 сентября 2018 в 0:33

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

Право на добавление термина юзером, имхо, не нужно. Стройте свою базу городов (населенных пунктов).
Подсовывайте id города/региона вьюхе по факторам, что выше привел.

Как-то так.

Аватар пользователя ScorpionGhost ScorpionGhost 30 сентября 2018 в 4:06

Я никогда с подобным не сталкивался раньше. Пока даже не представляю, как всё это сразу увязать. Возможно ли это сделать имеющимися модулями, или только написанием полностью своего решения?

Аватар пользователя adano adano 30 сентября 2018 в 6:49

Если полноценно, в рамках проекта, то только свое решение.
Да и D7 рекомендую для подобных решений (на текущий момент), т.к. реально намучаетесь костылить кеш под 8ку.