Автор Тема: Список городов  (Прочитано 656 раз)

10 Сентябрь 2019, 15:51:59
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет. Установил модуль доставки на свой сайт. Теперь при заполнении полей адреса, нужно выбрать город из списка. Но список этот на столько большой, что проматывать его очень долго и неудобно. Реально ли сделать так, чтобы можно было самому вводить текст, и список сокращался?
11 Сентябрь 2019, 09:43:58
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16676
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Реально. Смотрите как сделан поиск, когда включаешь мгновенный поиск, там после ввода 3 символов подгружаются товары.
Контроллер поиска и js можно склонировать и заменить таблицу товаров на таблицу городов.
12 Сентябрь 2019, 17:17:06
Ответ #2
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для меня это слишком сложное решение. Начал копаться по инету в поисках более простого. Наткнулся на это: https://www.sitepoint.com/jquery-select-box-components-chosen-vs-select2/
Вроде бы все просто, надо только скрипты в конец страницы добавить. Проблема в том, что после добавления скрипта jQuery, перестает выводиться список городов.  :(
12 Сентябрь 2019, 19:31:00
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1812
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Скорее всего конфликт между функциями модуля и новыми. В модуле нужно отключить его функции.
12 Сентябрь 2019, 19:49:18
Ответ #4
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел решение через datalist:
<div class="required id_state form-group">
<label for="id_state">{l s='State'} <input list="id_state" name="id_state" type="text">
</label> <sup>*</sup></label>
<datalist id="id_state">
<option value="">-</option>
</datalist>
</div>
Все работает, только после выбора города, появляется число. В списке выглядит так: <option value="839">Абакан (Республика Хакасия)</option> - т.е. выбрав Абакан, появится 839. Как сделать, чтоб оставался Абакан?
12 Сентябрь 2019, 21:52:35
Ответ #5
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел несколько решений. Все с использованием скриптов. Но проблема в том, что какой бы скрипт я не попытался добавить - ничего не работает.
13 Сентябрь 2019, 12:57:28
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1812
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел решение через datalist:
<div class="required id_state form-group">
<label for="id_state">{l s='State'} <input list="id_state" name="id_state" type="text">
</label> <sup>*</sup></label>
<datalist id="id_state">
<option value="">-</option>
</datalist>
</div>
Все работает, только после выбора города, появляется число. В списке выглядит так: <option value="839">Абакан (Республика Хакасия)</option> - т.е. выбрав Абакан, появится 839. Как сделать, чтоб оставался Абакан?
datalist плохой вариант, не все браузеры его поддерживают, лучше не использовать.
13 Сентябрь 2019, 13:25:33
Ответ #7
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Про datalist начитался вчера. Вариант и правда плохой. А как Вы сами делаете? Никто ж не оставляет select без поиска с 2000 городов на выбор.
13 Сентябрь 2019, 13:54:05
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1812
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В самом prestashop нет такой необходимости, а в модулях доставки есть такие функции по умолчанию. Тот кто делает модуль добавляет такие функции.
13 Сентябрь 2019, 14:56:48
Ответ #9
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня модуль eDost. С ним идет только список городов, который грузится в базу данных.
13 Сентябрь 2019, 16:54:16
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 176
  • Репутация: +0/-0
    • Просмотр профиля
Модуль Address Autocomplete можно установить. Продается на сайте prestashop. Можно скачать на нуледе.
13 Сентябрь 2019, 19:43:30
Ответ #11
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Этот модуль не совсем то, что нужно. Там просто автозаполнение при вводе адреса, а мне нужно выбрать из списка, чтобы модуль правильно рассчитал стоимость доставки.
14 Сентябрь 2019, 20:45:51
Ответ #12
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля