Контент выбранного города .

InstantCMS 2.X
#1 12 ноября 2021 в 19:32

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

#2 12 ноября 2021 в 19:34

Посмотрите это instantcms.ru/addons/goroda.html

#3 12 ноября 2021 в 19:44

Делал такое instantcms.ru/addons/goroda.html

Но есть нюансы. Город пользователя запоминается в куках, для авторизованных запоминание в ups не делал (это можно исправить)

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

Сразу скажу о проблемах, с которыми столкнетесь:

1. Виджет Список контента, если в нем нет записей (а их может не быть для выбранного города), просто скрывается. Без возможности вывести вместо списка что-то типа «нет новостей для вашего города»

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

3. Появятся хотелки выводить в сторонних виджетах определенную информацию в зависимости от города, например погоду. Тут тоже работать не будет. Надо дорабатывать и сторонний виджет (выводить данные в зависимости от города пользователя/гостя), и сам компонент (сохранять город пользователя куда-то, кроме кук)

Хотел сделать по уму, концепция не родилась :(

#4 12 ноября 2021 в 20:20

Я делал так (если не изменяет память). При регистрации пользователь выбирает свой город. Дальше при добавлении контента в типы контента также добавлял поле «Город» которое автоматом подтягивалось из профиля и скрывал его. Соответственно когда пользователь добавляет контент он автоматом закрепляется «за городом». А дальше в списке контента нужно сделать чтобы автоматом применялся или набор с городом пользователя, или фильтр по городу (заказывал доработку). И получается что пользователь из Москвы видит только контент Москвы, и так по всем городам.

Для админа та же схема. Просто добавьте поле «Город» в типы контента и настройте автоматическую фильтрацию по городу в списке контента.

Но это работает только если пользователь выбрал город в профиле. В теории можно в настройках городов удалить все кроме нужных и опять же дать возможность фильтровать, просто по умолчанию выбрав какой-то один город.

#5 12 ноября 2021 в 20:27

Я делал так (если не изменяет память). При регистрации пользователь выбирает свой город. Дальше при добавлении контента в типы контента также добавлял поле «Город» которое автоматом подтягивалось из профиля и скрывал его. Соответственно когда пользователь добавляет контент он автоматом закрепляется «за городом». А дальше в списке контента нужно сделать чтобы автоматом применялся или набор с городом пользователя, или фильтр по городу (заказывал доработку). И получается что пользователь из Москвы видит только контент Москвы, и так по всем городам.

Для админа та же схема. Просто добавьте поле «Город» в типы контента и настройте автоматическую фильтрацию по городу в списке контента.

Но это работает только если пользователь выбрал город в профиле. В теории можно в настройках городов удалить все кроме нужных и опять же дать возможность фильтровать, просто по умолчанию выбрав какой-то один город.

SpideR

Спасибо за подсказку, можно при регистрации сделать поле обязательным .

Добавлено спустя Только что

Делал такое instantcms.ru/addons/goroda.html

Но есть нюансы. Город пользователя запоминается в куках, для авторизованных запоминание в ups не делал (это можно исправить)

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

Сразу скажу о проблемах, с которыми столкнетесь:

1. Виджет Список контента, если в нем нет записей (а их может не быть для выбранного города), просто скрывается. Без возможности вывести вместо списка что-то типа «нет новостей для вашего города»

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

3. Появятся хотелки выводить в сторонних виджетах определенную информацию в зависимости от города, например погоду. Тут тоже работать не будет. Надо дорабатывать и сторонний виджет (выводить данные в зависимости от города пользователя/гостя), и сам компонент (сохранять город пользователя куда-то, кроме кук)

Хотел сделать по уму, концепция не родилась :(

Zau4man

Спасибо написал вам на почту .

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.