akiyatkin/city

Выбор региона на сайте



Documentation

Определение и выбор города на сайте

Работает на основе окружения пользователя infrajs/env. Город определяется автоматически с помощью infrajs/ip. Если города нет в списке conf.city.list, то используется город по умолчанию conf.city.def.

Env.get().city.ru;
Env::get()['city']['ru'];
{Env.get().city.ru}

Изменнеие города

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

Город изменяется по правилам infrajs/mark. В адресной строке надо передать новое значение ?-env=oldname:city=Самара. oldname можно получить из Env.name() без укзания oldname все параметры окружения сбросятся на значения по умолчнию, а город будет установлен на указанный.