Некоторые из того, как мне удалось заставить его работать. Но результат не совпадает с автозаполнением.Специальная форма и автозаполнение Drupal
проводки мой последний код сейчас,
текстовое поле код
$form['town'] = array(
'#type' => 'textfield',
'#required' => TRUE,
'#autocomplete_path' => 'hfind/town/autocomplete',
);
функция меню код
function hfind_menu() {
$items = array();
$items['hfind/town/autocomplete'] = array (
'title' => 'Autocomplete for cities',
'page callback' => 'hfind_town_autocomplete',
'access arguments' => array('use autocomplete'),
'type' => MENU_CALLBACK
);
return $items;
}
обратного вызова кода функции
function hfind_town_autocomplete($string){
$matches = array();
$result = db_select('towns', 't')
->fields('t', array('town_name'))
->condition('town_name', '%' . db_like($string) . '%', 'LIKE')
->execute();
foreach ($result as $row) {
$matches[$row->city] = check_plain($row->city);
}
drupal_json_output($matches);
}
Я надеюсь, что это ма y окончательное редактирование.
Текущая ситуация, автозаполнение работает
Адрес страницы/H Найдите город/автозаполнения/MTW
, но не может найти какие-либо данные из базы данных. Я нашел причину и не смог ее исправить. Это потому, что в последней функции, которую я добавил выше, строка $ должна быть «поисковым запросом», но она всегда запрашивает базу данных как «автозаполнение». Я имею в виду переменную $ string, всегда имеющую значение «autocomplete» вместо введенного пользователем значения.
Еще одна проблема заключается в том, что даже после предоставления разрешения всем пользователям получить доступ к автозаполнению поиска в формах, пользователи пользователей не могут использовать эту функцию.
Пожалуйста, пожалуйста, кто-то мне помочь ..
Я пытался. Все еще не работает. Но я знаю, что это исправление не для моей проблемы, потому что когда я печатаю, я не вижу никакого запроса с текстом. Функция автозаполнения не активна в текстовом поле. –
попытайтесь проверить путь для функции автозаполнения tht, которую вы дали. Я отредактировал свой ответ с помощью небольшого примера, и я работаю для меня. –
Спасибо Ranjeet, попробовал и пытался много решений, ничего не работало. –