dadata старая проблема

Ответить
tax
Сообщения: 326
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: Украина, Сумы
Организация: ТОВ "Кинопрокат"

dadata старая проблема

Сообщение tax »

Модуль dadata при поиске города ищет только по базе российских городов. Мне нужны города Украины.
В API нашёл инфу, что нужно добавить параметр locations в запрос.
Прошу рассмотреть это исправление и по возможности внести в релиз.

исходная функция

Код: Выделить всё

public function render($module_id,$rules)
	{
		$html = '';

		$cfg = modules::get_configuration($this->configuration(),$module_id);

		$html .= '
				<script type="text/javascript">
					$(function(){
						$("#fields_' . $rules['fields_id'] . '").suggestions({
					        token: "' . $cfg['api_key'] . '",
					        type: "' . $rules['type'] . '",
					        count: ' . (($cfg['count']>0 and $cfg['count']<20) ? $cfg['count']:5). ',
					        minChars: ' . ($cfg['minChars']>0 ? $cfg['minChars']:1). ',

					        /* Вызывается, когда пользователь выбирает одну из подсказок */
					        onSelect: function(suggestion) {
					            //console.log(suggestion);
					        		' . $this->render_on_select(trim($rules['rules'])). '
					        }
					    });
					})
				</script>
				';

		return $html;
	}
Исправленная

Код: Выделить всё

public function render($module_id,$rules)
	{		
		$html = '';
		
		$cfg = modules::get_configuration($this->configuration(),$module_id);
		
		$html .= '
				<script type="text/javascript">
					$(function(){
						$("#fields_' . $rules['fields_id'] . '").suggestions({
					        token: "' . $cfg['api_key'] . '",
					        type: "' . $rules['type'] . '",
					        count: ' . (($cfg['count']>0 and $cfg['count']<20) ? $cfg['count']:5). ',
					        minChars: ' . ($cfg['minChars']>0 ? $cfg['minChars']:1). ',
					      	constraints: {
								locations: { country: "*", city_type_full: "город" },
								label: ""
							  },	
					        /* Вызывается, когда пользователь выбирает одну из подсказок */
					        onSelect: function(suggestion) {
					            //console.log(suggestion);
					        		' . $this->render_on_select(trim($rules['rules'])). '					        		
					        }
					    });
					})				    
				</script>
				';
		
		return $html;
	}
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1704
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр Афанасьев
Откуда: г. Славянск, Донецкая обл.
Организация: Alcomp

Re: dadata старая проблема

Сообщение alcompstudio »

+ Поддержу, нужное исправление.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9031
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: dadata старая проблема

Сообщение support »

Это не ошибка.
tax
Сообщения: 326
Зарегистрирован: 14 ноя 2016, 15:12
Имя: Николай
Откуда: Украина, Сумы
Организация: ТОВ "Кинопрокат"

Re: dadata старая проблема

Сообщение tax »

Согласен, это не ошибка данной версии, но это ошибка в работе плагина, которая ограничивает круг пользователей только РФ и ограничивает возможности его использования.

З.Ы. тяну за собой этот костыль несколько версий... но внести исправление в плагин в этой версии. Ведь это не одному мне нужно, тем более, что я Вам готовое решение уже предоставил.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9031
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: dadata старая проблема

Сообщение support »

Решение не корректное. А если мне нужно города только определенной страны? Верно будет добавить настройку страны для города.
Ответить