Yii2 как вы внедряете города, регионы и страны?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
myks1992@mail.ru
Сообщения: 147
Зарегистрирован: 2017.11.15, 23:54

Yii2 как вы внедряете города, регионы и страны?

Сообщение myks1992@mail.ru »

Всем привет! Часто использую базу данных городов, регионов, стран, населенных пунктов и так далее в своем проекте.

Например:
1. пользователи в профиле выбирают свой город.
2. мероприяти относятся к определенному городу.
3. Новости привязанные к определённому городу

Прошу обратить внимание, что все выше примеры отдельные независимые модули

По итогу получается, что мне нужно в каждую таблицу добавить city_id и уже по этому полю получаю название города, региона, страны...

Сейчас эту базу данных я вбиваю в ручную. Знаю, что есть различные большие базы, но некоторые весят по 1 ГБ. Столько городов не всегда требуется....

Так как часто использую подобные вещи и, по всем правилам, имеет смысл вынести это все в компонент City. Но вопрос не об этом... Может быть есть уже какие-то практики использования подобных компонентов с городами? Например, какой-нибудь geo кодер от яндекса... Поделитесь ссылками и информацией как вы используете в своих проектах подобные базы? Возможно есть единая база на стороннем сервере, а в проекте только хранить ID. Буду благодарен любой помощи)

Вообще расскажите как именно нужно это все правильно делать и использовать в проекте. В этом я профан и ничего не понимаю. Помогите понять эту тему. Скорее всего придётся использовать какой-то яндекс или Гугл api. Или взаимодействовать с ними. Как при этом хранить данные у себя? Делать ли компонент? В общем хотелось бы видеть в ответе более развёрнутый ответ. Если есть с примерами или ссылками на готовые компоненты.

Благодарю!
Аватара пользователя
andriel
Сообщения: 43
Зарегистрирован: 2017.12.05, 17:32

Re: Yii2 как вы внедряете города, регионы и страны?

Сообщение andriel »

Для подобной задачи я использовал найденую БД скачать можно тут https://dropmefiles.com.ua/R5VxBf (хотел прикрепить к посту, но почему-то не получается)
Дальше я использовал прекрасную биюлиотеку для связанных списков

https://github.com/kartik-v/yii2-widget-depdrop

То есть у тебя в какой-то форме делаешь селект "выберите страну", по выбранной стране заполняется второй слект "выберите регион" и по выбору в нём заполняется селект "выберите город".
myks1992@mail.ru
Сообщения: 147
Зарегистрирован: 2017.11.15, 23:54

Re: Yii2 как вы внедряете города, регионы и страны?

Сообщение myks1992@mail.ru »

Отлично) Спасибо)
Ещё пара вопросов.
1. Как используете в проекте? Компонентом?
2. Как используете в независимых модулях?
3. Что делаете если нет населенного пункта?
4. Как выполняете переводы?
Аватара пользователя
andriel
Сообщения: 43
Зарегистрирован: 2017.12.05, 17:32

Re: Yii2 как вы внедряете города, регионы и страны?

Сообщение andriel »

1. К сожалению нет, потому что это был прототип и нужно было на быструю руку выдать функционал. Я создал под каждую таблицу модель, прокинул связи. Сделал CRUD под каждую из них, чтобы админы могли подправлять.
2. В модулях из-за быстрой разработки создавал объекты моделей Страны, региона и города и работал с ними
3. Сделал так - если нет города или региона по выбраным параметрам - то в селекте добавил кнопку "Добавить новый элемент". При нажатии на которую с помощью ModelAjax грузилась в модалке форма создания города или региона соответсвенно
https://github.com/loveorigami/yii2-modal-ajax
4. С переводами не столкнулся, потому что это был СНГ- направленный проект (т.е. только русский язык)
myks1992@mail.ru
Сообщения: 147
Зарегистрирован: 2017.11.15, 23:54

Re: Yii2 как вы внедряете города, регионы и страны?

Сообщение myks1992@mail.ru »

Благодарю!)) думаю, что более менее понятно. Надо только сделать это компонентом, а не моделями в модуле, думаю. Надо только подумать как этот компонент связывать с независимыми модулями и моделями в них) У меня примерно так же сейчас.
Ответить