myks92
@myks92
Нашёл решение — пометь вопрос ответом!

Yii2 как реализовать сайт с несколькими городами?

Помогите, пожалуйста сделать реализацию выбора городов на сайте. Необходимо сделать так, чтобы пользователь мог выбрать город и ему показывались записи только выбранного города. Города размещаются в базе данных в таблице 'city' и имеет столбцы 'id', 'name', 'url'

При выборе из выпадающего списка получаем выбранный город и подставляем его в Url. Получается примерно так
www/site.ru/moscow/post/
www/site.ru/spb/post/
www/site.ru/moscow/user/


Также требуется сделать получение выбранного города и заносить его в переменную $city, которую мы можем использовать при выборке данных таблицы 'post' с полями 'city_id' == $city
  • Вопрос задан
  • 911 просмотров
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
либо написать свой urlManager или в rules правила формировать как-то так:
'<city>/<controller>/<action>'=>'<controller>/<action>'

и соответственно в контролере будет доступен город, можно в конфиге в on beforeAction взять значение city и запихнуть в yii::$app->params['city'], где изначально иметь дефолтный город. Тогда будет доступно в любом месте кода.
Ответ написан
Комментировать
@seacjs
Вот хорошая статья на эту тему https://habrahabr.ru/post/226931/
Была задача реализовать как города, так еще плюс языки. Взял за основу у этого автора.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
this_nicco
@this_nicco
Графоман, пижон, нарцисс
Если хочешь потом продвигать сайт, то лучше делать поддомены. На личном опыте знаю что это будет намного лучше и выгоднее.
А так реализуется через реляционные запросы. Выбор - редирект на нужный URL -> выборка записей из таблицы, где столбец city_id = ID города
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы