Поле "адрес" через сервис DADATA

#1 27 декабря 2017 в 12:59
Тема о том как я парился с полями для ввода адреса… Начну по порядку. Требовалось сделать небольшую доску объявлений. У меня нет особых знаний в php, mysql, api (максимум что могу, это по css, ну и в коде найти добавить, вставить smile). Пока делаю как могу (не судите строго), по ходу роста скилла, вношу изменения. Так вот.
1. У меня были дефолтные поля компонента GEO + строковое поле конкретно адреса () + карта яндекс

И соответственно пользователям приходилось вводить слишком много данных, путались, психовали, было неудобно.
В общем требуется ОДНО поле для ввода адреса. По кладру и фиас и как всю эту базу прикручивать и правильно выводить я не знаю пока. Но сделать нужно уже вчера. Поэтому решил попробовать воспользоваться сервисом DADATA.
2. Зарегистрировался, сгенерировал скрипт подсказок по адресу. Закинул все это дело в main.tpl.php

3. Создал другое строковое поле с системном именем "address". И все. В целом поле работает, и на сайте отображается, все гуд.


НО! в поиске не работает, т.е. если есть объявления с адресами по одному городу. И вводить в фильтре город, то не срабатывает.
И еще повылезали ошибки, но пока это не критично, и походу я думаю разберусь scratch


В общем не кидайтесь в меня помидорами. smile
Что в итоге хотелось бы сделать!? Ввод адреса одной строкой и чтоб автоматов выдавало метку на карте. А при поиске записей в фильтре искало по всем вхождениям ("г. Челябинк, ул. Ленина д 2; г. Челябинск ул Маркса д3. При вводе в фильтр г. г Челябинск — выдавало все записи с адресами челябинск )
Сейчас как итог промежуточный это одно поле ввода адреса и вручную указывать метку на карте, что конечно же удобнее гораздо (вводишь как попало, а выдает как надо, чем постоянно перебирать страну рафон город, вводить адрес и тд. facepalm)

Пожмякать можно здесь bashkortostan.online/board/add Это нивкоем случае не реклама или что-то еще, для наглядности дела так сказать

Что думаете товарищи? Повторюсь я почти ноль в программировании, и поэтому делаю как могу. Если поможете допилить до ума то ништяк, +100500 к краме, и возможно донат, а если нет, то как нибудь сам потихонечку…
#2 27 декабря 2017 в 13:28

Создал другое строковое поле

Dan

на сайте отображается

Dan

в поиске не работает

Dan

вводить в фильтре город, то не срабатывает

Dan
Речь всё таки о компоненте "Поиск" или о фильтре записей в типах контента? Какие значения заносятся в БД у этого поля?

еще повылезали ошибки

Dan
не доступна для чтения библиотека jquery.maskedinput.min.ru
#3 27 декабря 2017 в 13:35

фильтре записей в типах контента

Loadырь
да именно о фильтре записей которая над списком записей.
#4 27 декабря 2017 в 13:40

не доступна для чтения библиотека jquery.maskedinput.min.ru

Dan
да, но я думаю, это из-за другого поля.
но ошибки все равно есть (проверял на других сайтах)..
как в фильтре ее настроить правильно и прицепить к карте
#5 27 декабря 2017 в 13:49

Какие значения заносятся в БД у этого поля?

Loadырь

прицепить к карте

Dan
Что за поле "Яндекс карта"? Это инстантмапс?
#6 27 декабря 2017 в 13:53

Какие значения заносятся в БД у этого поля?

Loadырь
ЭТо? scratch
Короче строковое поле вписывается, которые выдает подсказки… наверно

Что за поле "Яндекс карта

Loadырь
Да, яндекс карта бесплатная которая
#7 27 декабря 2017 в 14:01

карта бесплатная которая

Dan
В дополнениях такой не нашёл. Не уверен, но вероятно рядом с самой картой есть скрытое поле, которое заполняется координатами при щелчке на карте. Суть в том, что Дадата передаёт вам координаты адреса. Вам эти координаты надо яваскриптом передать в это поле с картой.
#8 27 декабря 2017 в 14:07

дополнениях такой не нашёл

Loadырь
я помню что не покупал. вот эта вроде была instantcms.ru/addons/yandexmaps.html

Вам эти координаты надо яваскриптом передать в это поле с картой.

Loadырь
Тэээк, да суть понял. Уже что-то. ща буду ковыряться дальше, если что отпишу)
#9 27 декабря 2017 в 14:52

Что думаете товарищи? Повторюсь я почти ноль в программировании, и поэтому делаю как могу. Если поможете допилить до ума то ништяк, +100500 к краме, и возможно донат, а если нет, то как нибудь сам потихонечку...

Dan
Аналогично, поэтому изучаю возможности существующих дополнений!
Вам надо использовать компонент карта, который подхватывает данные из поля адрес или использовать поля адрес из компонента Карта.
Советую посмотреть компоненты Zau4man или напрямую спросить совета, что именно использовать.
#10 27 декабря 2017 в 15:06

Аналогично, поэтому изучаю возможности существующих дополнений!
Вам надо использовать компонент карта, который подхватывает данные из поля адрес или использовать поля адрес из компонента Карта.
Советую посмотреть компоненты Zau4man или напрямую спросить совета, что именно использовать.

vikont

Изучал, не то. Нужно ОДНО поле ввода (полей может быть два в админке, но без доп клацаний, поискам по списку, вводу дреса! Начал вводить пару букв, выбрал из подказок готовое, сразу ставится метка на карте, и всёёёёё. Loadырь, озвучил уже идею, скоро допетрю надеюсь. Еще останется с фильтром разобраться…
#11 27 декабря 2017 в 15:19

Изучал, не то. Нужно ОДНО поле ввода (полей может быть два, но без доп клацаний, поискам по списку, вводу дреса!

Dan
И я об этом! Давно делал для своего Типа контента Афиша. Никак не вспомню что ставил.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.