Cotonti. Region-City ajax selector

Cotonti. Region-City ajax selector

Плагин для Выбора страны, региона и города.

тип: плагин
Версия плагина: 1.0.5
Совместимость: Siena

GitHub: https://github.com/Alex300/RegionCity/

Плагин позволяет добавить на Ваш сайт на Cotonti возможность выбора страны, региона и города из выпадающих списков при помощи Ajax.

Это может быть полезным для доски объявлений или интернет магазинов т.к. пользователь не вводит название города самостоятельно, а выбирает из предложенного плагином списка, что исключает неправильный ввод.

 

Системные требования и ограничения:

  •   PHP версии 5.3 и выше. Работа с PHP версии 5.2.х и ниже невозможна.
  •   Наличие на Вашем сайте установленной библиотеки 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.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 для выбора города с поиском по введенным буквам

 

GitHub: https://github.com/Alex300/RegionCity/


 
Автор: Alex
Опубликовано: Alex
Комментарии: (3)
Рейтинги:  
0

Теги:

Cotonti,   Плагин

Комментарии:


3. Алексей

Возможно.

Если город не заполнен, выбирайте из базы ID города, который Вам вернул sxGeoIP и передавайте его в качастве выбранного

Аватар
2. Ренат

А возможно как то связать его с плагинов sxGeoIP? Чтобы при загрузке в шаблоне уже были выбраны тот город, который предварительно определился с помощью базы sxGeo&

Аватар
1. Андрей

Здравствуйте. Использую rec_select2_city('city', $vacancy->city) В настройках стоит только одна страна ru, но он ищет все равно города всех стран. Как ограничить на одну страну или несколько?

Оставить комментарий:

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

* Для редактирования комментария осталось 15 минут