Обратите внимание!
При добавлении нового города в БД
— 'IE" и "Лиса" сортируют города в алфавитном порядке.
— "Opera", "google", "yandex" и "opera-mobile" не сортируют, добавленные города получаются в конце списка.
Мне помогли разобраться с этой проблемой и сделать сортировку во всех браузерах в алфавитном порядке. В общем все заработало.
Появилась другая необходимость. Сортировать города не в алфавитном порядке, а так как я хочу. Допустим, при регистрации, Комсомольск-на-амуре сделать первым при выборе.
Не буду тягомотину расписывать, просто обратите внимание, что страна Россия стоит на первом месте (т.е. не в алфавитном порядке).
При помощи БД это решается через "ordering".
Как сделать такое же для областей (регионов) и городов? Надо, чтобы при регистрации мой город был первым.
public function getCities($region_id=false){ global $_LANG; if ($region_id){ $this->inDB->where("region_id = '{$region_id}'"); } $this->inDB->orderBy('name'); return $this->getItems('cms_geo_cities', $_LANG['GEO_SELECT_CITY']); }
$this->inDB->orderBy('name');
$this->inDB->orderBy('id');
Действительно простое решение. Так и сделаю.измените id вашего города в базе на наименьший
Одно но. Запас там невелик — наименьший ID=6. Т. е. пять городов влезет и все.
Пробовал добавить новый столбец с цихерками (как в geo_cities), не получается (не сортирует по нему).
Хотя проблема решена.
И опять двадцать пять. Меняю ID Свердловской области с 5080 на любой другой и все… Область на первом месте, а города тупо не грузятся.
CMS 2.2.1
ID 3161 (внутри страны) тоже пробовал.
Уже кровь из носа
И опять двадцать пять. Меняю ID Свердловской области с 5080 на любой другой и все… Область на первом месте, а города тупо не грузятся.
Если Вы меняете id области, то не забывайте, что у Вас есть и другие таблицы, где задействованы эти id, в частности меняйте 5080 и в таблице geo_cities т.к. в ней у Вас осталось там 5080 на Свердловской области, а запрос на выборку идет по id=1 региона, а в geo_cities у Вас я так понимаю в поле region_id 1 нет.
В общем таким методом, Вам надо все гео таблицы приводить к общему знаменателю, а не просто в одной заменить ид.
Или как в geo_countries делать поле ordering и фильтровать там, но тут в коде в запросе надо добавить именно сортировку по ordering.
Теперь работает.
Спасибо.
Как сделать, чтобы при открытии "выбор-города" значения по умолчанию уже стояли такие — какие необходимо?
Т. е. пользователь жамкнул "выбрать город", а там уже по умолчанию выбрано все (Страна — область — город). Если юзер не согласен, то выберет сам, что нужно.
Так будет мега-удобно.
Сюда бы сюда добавили такой функционал, цены бы не было. )))