Cotonti. Region-City ajax selector
Плагин для Выбора страны, региона и города.
тип: плагин
Версия плагина: 1.0.7
Совместимость: Siena
GitHub: https://github.com/Alex300/RegionCity/
Плагин позволяет добавить на Ваш сайт на Cotonti возможность выбора страны, региона и города из выпадающих списков при помощи Ajax.
Это может быть полезным для доски объявлений или интернет магазинов т.к. пользователь не вводит название города самостоятельно, а выбирает из предложенного плагином списка, что исключает неправильный ввод.
Системные требования и ограничения:
- Наличие на Вашем сайте установленной библиотеки Cotonti Lib версии 2.0.x
Плагин выводит теги для выбора страны, региона и города в соотвествии со своими настройками на странице регистрации нового пользователя, в профиле и странице редактирования пользователя. А также выводит теги для фильтров на странице списка пользователей.
Вы можете использовать этот плагин из своих модулей и плагинов. Для этого используется функция генерерующая теги выбора страны, региона и города:
function rec_select_location($counName = 'country', $regName = 'region', $cityName = 'city', $country = '', $region = 0, $city = 0);
В качестве первых трех параметров принимаются названия полей для страны, региона и города соотвественно. Или массивы, первым элементом которого является имя элемента формы, а вторым имя тега, который его выводит.
Четвертый, пятый и шестой параметры - это код страны и id региона и города.
Пример использования:
$t->assign(rec_select_location( array('recf_country', 'USERS_TOP_FILTERS_COUNTRY'), array('recf_region', 'USERS_TOP_FILTERS_REGION'), array('recf_city', 'USERS_TOP_FILTERS_CITY'), 'ru', 4052, 4079) );
Сгенерированные этой функции элементы передадут не только ID города и региона, но и их названия. Названия передаются в полях "<имя_поля>_name". Например, форма из примера выше передаст id региона в поле "recf_region" а его название в поле "recf_region_name". Id и название города будут переданы соотвественно в полях: "recf_city" и "recf_city_name"
Также, если на Вашем сайте установлена библиотека Select2, Вы можете выводить выбор города одним выпадающим списком с поиском по названию. Для этого используется функция
/** * Renders a Select2 city dropdown * * Select2 must be installed on your site * @see http://ivaynberg.github.io/select2/ * * @param string $name Dropdown name * @param int array|int $chosen Seleced value (or values array for mutli-select) * @param bool $add_empty Allow empty choice * @param mixed $attrs Additional attributes as an associative array or a string * @param string $custom_rc Custom resource string name * @return string */ function rec_select2_city($name, $chosen = 0, $add_empty = true, $attrs = array(), $custom_rc = '' )
Например:
$t->assign(array( //... 'FORM_CITY' => rec_select2_city('city', $vacancy->city), ));
выводить отдельно выбор страны и региона в этом случае не нужно.
История изменений:
Версия v.1.0.7
- Совместимость с Cotonti 0.9.25
Версия v.1.0.5
- Совместимость с Cotonti Lib v.2.0.
Версия v.1.0.4
- Профили пользователя могут иметь несколько групп полей («Страна», «Регион», «Город»). Например домашний и рабочий адреса.
Версия v.1.0.3
- Городам добавлено поле 'sort' для сортировки. Сортировка осуществляется по-убыванию. Города с одинаковым значением этого поля сортируются по алфавиту
- Изменены поля таблиц в БД и моделях на более читабельные. (обратите внимание на этот момент при обновлении)
Версия v.1.0.2
- Виджет rec_select2_city() теперь использует Select2 v.4
Версия v.1.0.1
- Использование моделей из библиотеки Cotonti Lib вместо собственных. Это сделано в целях унификации API и оптимизации потребления системных рессурсов
- Выпадающий список на основе Select2 для выбора города с поиском по введенным буквам
Размер: 150,0 Кб
Комментарии:
Возможно.
Если город не заполнен, выбирайте из базы ID города, который Вам вернул sxGeoIP и передавайте его в качастве выбранного
А возможно как то связать его с плагинов sxGeoIP? Чтобы при загрузке в шаблоне уже были выбраны тот город, который предварительно определился с помощью базы sxGeo&
Здравствуйте. Использую
rec_select2_city(
'city'
,
$vacancy
->city) В настройках стоит только одна страна ru, но он ищет все равно города всех стран. Как ограничить на одну страну или несколько?
Оставить комментарий:
* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.