Как показать все результаты автозаполнения?


У меня есть поле ссылки на узел и виджет автозаполнения. Прямо сейчас он возвращает/предлагает максимум 10 узлов.

Как я могу увеличить количество узлов, предлагаемых автозаполнением? (Или) еще лучше, чтобы он вернул все предложения?

Author: Bala, 2013-04-02

2 answers

Вам нужно создать пользовательский модуль, а также вам нужно изменить файл .info 20 на нужное число

function custom_tweaks_menu_alter(&$menu) {
  if (isset($menu['nodereference/autocomplete'])) {
    $menu['nodereference/autocomplete']['page callback'] = 'custom_tweaks_nodereference_autocomplete';
  }
}

function custom_tweaks_nodereference_autocomplete($field_name, $string = '') {
  $fields = content_fields();
  $field = $fields[$field_name];
  $match = isset($field['widget']['autocomplete_match']) ? $field['widget']['autocomplete_match'] : 'contains';
  $matches = array();

  $references = _nodereference_potential_references($field, $string, $match, array(), 20);
  foreach ($references as $id => $row) {
    // Add a class wrapper for a few required CSS overrides.
    $matches[$row['title'] ." [nid:$id]"] = '<div class="reference-autocomplete">'. $row['rendered'] . '</div>';
  }
  drupal_json($matches);
}

Взято из этого источника

 1
Author: Bala, 2013-06-08 07:26:12

Примените этот патч: https://www.drupal.org/node/2185019#comment-11573163 для ссылки на сущность с виджетом автозаполнения.

 0
Author: Prof, 2016-09-02 06:53:57