Автозаполнение формы Drupal из таксономии

Я пытаюсь использовать автозаполнение для формы, которую использую в drupal,

Мой текущий код выглядит так:

function HOOK_form($form){
  $form['keyword'] = array(
'#type' => 'textfield',
'#attributes' => array(
        'title' => 'search field',
                    'label' => 'search field',
            ),
'#required' => TRUE,
'#autocomplete_path'=>'get_tax/autocomplete'
 );

 return $form;

}


 function HOOK_menu(){
   $menu = array(
       'get_tax/autocomplete/%' => array(
    'page callback' => 'tax_autocomplete_callback',
    'page arguments' => array(2),
    'type' => MENU_CALLBACK,
  ),
    );

   return $menu;
 }


 function tax_autocomplete_callback(){
         $terms = array();
         foreach(taxonomy_get_tree(5) as $tax){
             $terms[$tax -> tid] = check_plain($tax -> name);
        }
    drupal_json_output($terms);

 }

Для меня это должно сработать, но это не так.

Любые идеи?


person Sagarmichael    schedule 10.09.2013    source источник


Ответы (1)


Внутри вашей реализации hook_menu попытайтесь избавиться от % в конце определения пути, потому что он не нужен.

function HOOK_menu(){
   $menu = array(
       'get_tax/autocomplete' => array( // THE EDITED LINE.
       'page callback' => 'tax_autocomplete_callback',
       'page arguments' => array(2),
       'type' => MENU_CALLBACK,
       ),
    );

   return $menu;
 }

Если он по-прежнему не работает, скопируйте и вставьте появившееся сообщение об ошибке.

person Muhammad Reda    schedule 12.09.2013