[решено]Поле адреса с автоподбором

Главные вкладки

Аватар пользователя Positiff Positiff 23 февраля 2011 в 13:57

Как сделать текстовое поле адреса при вводе в который автоматически показывались(подбирались) доступные варианты.
Как на яндекс картах.

Есть ли такой модуль или как это можно реализовать?

Заранее спасибо

ВложениеРазмер
Иконка изображения 1.jpg23.57 КБ

Комментарии

Аватар пользователя pacufist pacufist 23 февраля 2011 в 14:43

А в чем база адресов будет храниться, таксономия ?

В своем случае делал форму с параметром

<?php  
$form
['adress'] = array('#type' => 'textfield',
          
'#title' => $vocabulary->name,
          
'#description' => $help,
          
'#autocomplete_path' => 'adress_autocomplete/'$vocabulary->vid,
          
'#maxlength' => 1024,
        );    
?>

И определить свой hook_menu()

<?php 

function mymodule_menu() {

  

$items['adress_autocomplete'] = array(
    
'title' => 'Adress',
    
'page callback' => 'adress_autocomplete_js',
    
'access arguments' => array('access content'),
    
'type' => MENU_CALLBACK,
  );
  return  
$items;
}

?>

Пример функции "adress_autocomplete_js" можно посмотреть из модуля таксономии:
taxonomy_autocomplete($vid, $string = '')
http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.pages.inc/f...

Аватар пользователя Positiff Positiff 10 ноября 2015 в 11:47

Спасибо большое, кое что получилось!

Подскажите еще как можно стилизовать блок результатов?

А то блок сейчас загораживает само поле.
Как в css обратиться к элементу?
В коде страницы сейчас есть следующее:

Отсюда:

Заранее спасибо

Аватар пользователя Positiff Positiff 24 февраля 2011 в 15:56

Да, спасибо!
Поле корректно отображается и можно теперь хоть как то повлиять на вид вывода списка.
Единственный остался вопрос как сделать чтобы ширина списка автоматически была по размеру элементов - пока получилось только задать ширину 300px, отключив overflow: hidden
Если есть решение - буду очень благодарен

Аватар пользователя Positiff Positiff 24 февраля 2011 в 17:29

С этим плагином проблема:
warning: Missing argument 2 for profile_autocomplete(), called in /home/s/shipitru/public_html/sites/all/modules/autocomplete_element/autocomplete_element.module on line 81 and defined in /home/s/shipitru/public_html/modules/profile/profile.pages.inc on line 110.

Поиск бага ничего не дал - то есть пока проблема остается

Аватар пользователя Positiff Positiff 24 февраля 2011 в 18:33

В итоге получилось так:
отрекдактировал в /public_html/misc/autocomplete.js

$(this.popup).css({
marginTop: this.input.offsetHeight +'px',
// width: (this.input.offsetWidth - 4) +'px',
display: 'none'
});

И добавил в CSS
#autocomplete{
position: absolute;
top:14px;
text-align: left;
width: auto;
}