В форму с автозаполнением, в callback нужно передать два параметра, по "терминам" и "заголовкам нод".
Выдаче с начало шли термины и потом заголовки.
Автовозврат по Терминам уже есть, как сюда добавить заголовки.
<?php/**
*Page callback for menu 'path/autocomplete'
*/
function common_operations_custom_autocomplete($string) {
$matches = array();
$result = db_select('taxonomy_term_data', 'ttd');
$result->fields('ttd', array('name'));
$result->condition('vid', array('4', '6', '9', '10', '13'), 'IN');
$result->condition(db_or()->condition('ttd.name', '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
foreach ($query as $row) {
$matches[$row->name] = $row->name;
}
// Return the result to the form in json
drupal_json_output($matches);
}?>
Комментарии
Вот так?
$result = db_select('node', 'n')
$result->fields('n', array('title'))
$result->condition(db_or()->condition('n.title',, '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
Спасибо за ответ.
На выходе получился такой код:
Все ли правильно я сделал?
<?php/**
*Page callback for menu 'path/autocomplete'
*/
function common_operations_custom_autocomplete($string) {
$matches = array();
$result = db_select('taxonomy_term_data', 'ttd');
$result->fields('ttd', array('name'));
$result->condition('vid', array('4', '6', '9', '10', '13'), 'IN');
$result->condition(db_or()->condition('ttd.name', '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
foreach ($query as $row) {
$matches[$row->name] = $row->name;
}
$result = db_select('node', 'n')
$result->fields('n', array('title'))
$result->condition(db_or()->condition('n.title',, '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
foreach ($query as $row) {
$matches[$row->title] = $row->title;
}
// Return the result to the form in json?>
Вот щас правильно ?
Если нет, ткните носом
Спасибо.
<?php/**
*Page callback for menu 'path/autocomplete'
*/
function common_operations_custom_autocomplete($string) {
$matches = array();
$result = db_select('taxonomy_term_data', 'ttd');
$result->fields('ttd', array('name'));
$result->condition('vid', array('4', '6', '9', '10', '13'), 'IN');
$result->condition(db_or()->condition('ttd.name', '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
$result = db_select('node', 'n')
$result->fields('n', array('title'))
$result->condition(db_or()->condition('n.title',, '%' . db_like($string) . '%', 'LIKE'));
$query = $result->execute();
foreach ($query as $row) {
$matches[$row->name] = $row->name;
$matches[$row->title] = $row->title;
}
// Return the result to the form in json
drupal_json_output($matches);
}?>