Хочу сделать простую (как мне казалось) вещь. Чтобы клиент при оформлении заказа, заполняя поле "Город", мог выбрать из предложенных вариантов. Таблица с городами в БД у меня есть. Написать обработчик для AJAX callback функции тоже проблемы не составляет. Но я уперся в невозможность включить этот самый callback для поля в форме, т.е. прописать параметр '#autocomplete_path' => 'myautocomplete'. Пробовал менять параметры полей через form_alter, и выяснил, что все поля, относящиеся к адресу доставки (имя, фамилия, компания, город, адрес и т.д.), генерируются на лету - в form_alter они недоступны. Так сделано потому, что порядок этих полей, их наличие и обязательность заполнения - настраиваются. И потом в соответствии с этими настройками уже генерится содержимое панели Delivery. Я изучил исходники, нашел, где все это создается. Можно прямо в коде добавить нужные параметры и получить результат. Но это не Drupal way, хочется универсальное решение без последующих проблем при обновлениях.
Может быть, я не там копаю и здесь надо делать автокомплит не через Drupal Forms API, а как-нибудь через jQuery или Webforms + Ubercart Webform Checkout Pane. Есть у кого-нибудь подобный опыт?
Комментарии
не по сабжу, но близко к теме
я подумываю насчет вывода блока с яндекс/гугл картами на странице чекаута:
api яндекса (гугла вроде бы тоже, но латиницей) позволяют по клику на карту вывести данные точки - регион, город, улицу, дом (если юзер попал мышью в дом)
а api гугла - ещё и почтовый индекс, уж не знаю, насколько он правильный при этом.
т.е. можно сделать автозаполнение полей адреса по клику в блоке карты
у самого руки пока не дошли реализовать, но собираюсь
Мысль хорошая. И удобно будет. Но ведь все равно нужно сначала ввести город, чтобы он на картах отобразился. Или вводить его где-то в поле рядом с картой, а уже потом заполнять поля адреса по клику на карте?
Пока кто то думает, кто то уже сделал
пруф или не считается![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
город желательно знать до оформления заказа:
существует ряд товаров, доставка которых невозможна из-за ограничений логистических компаний (горючие материалы, некоторые жидкости и т.п.)
или не целесообразна - например, корм для собак: 5кг корма стоит 2 т.р., его доставка почтой обойдётся в половину стоимости
такие товары желательно фильтровать в каталоге по городу/региону покупателя, как минимум, уведомлять его о невозможности доставки
geoip тут может помочь
Как раз с подобным столкнулся