function mymodule_myform() { $form['myfield'] = array( '#type' => 'textfield', '#title' => 'My field', '#autocomplete_path' => 'mymodule/autocomplete', // <-- ); $form['submit'] = array( '#type' => 'submit', '#value' => 'Submit', ); return $form; }
function mymodule_menu() { $items['mymodule/autocomplete'] = array( 'page callback' => 'mymodule_autocomplete', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); return $items; }
function mymodule_autocomplete($string) { // для примера, возвратим заголовки нод $result = db_select('node', 'n') ->fields('n', array('title')) ->condition('title', '%' . db_like($string) . '%', 'LIKE') ->range(0, 10) ->execute(); $matches = array(); foreach ($result as $row) { $matches[$row->title] = check_plain($row->title); } drupal_json_output($matches); }