diff --git a/entityreference/entityreference.module b/entityreference/entityreference.module --- a/entityreference/entityreference.module +++ b/entityreference/entityreference.module @@ -1030,7 +1030,24 @@ function entityreference_autocomplete_callback_get_matches($type, $field, $insta if (isset($tag_last)) { // Get an array of matching entities. - $entity_labels = $handler->getReferencableEntities($tag_last, $instance['widget']['settings']['match_operator'], 10); + $autocomplete_items_limit = 10; + // Get items limit from settings for generic autocomplete widget (simple mode). + if (!empty($handler->field['settings']['handler_settings']['autocomplete_items_limit']) + && is_numeric($handler->field['settings']['handler_settings']['autocomplete_items_limit']) + && (integer)$handler->field['settings']['handler_settings']['autocomplete_items_limit'] > 0) { + $autocomplete_items_limit = (integer)$handler->field['settings']['handler_settings']['autocomplete_items_limit']; + } + // Get items limit from views pager settings for entitiy reference view widget. + if (get_class($handler) == 'EntityReference_SelectionHandler_Views' && !empty($handler->field['settings']['handler_settings']['view'])) { + $view_settings = $handler->field['settings']['handler_settings']['view']; + $entity_reference_view = views_get_view($view_settings['view_name']); + if (!empty($entity_reference_view->display[$view_settings['display_name']]) && + !empty($entity_reference_view->display[$view_settings['display_name']]->display_options['pager']['options']['items_per_page'])) { + $autocomplete_items_limit = $entity_reference_view->display[$view_settings['display_name']]->display_options['pager']['options']['items_per_page']; + } + } + + $entity_labels = $handler->getReferencableEntities($tag_last, $instance['widget']['settings']['match_operator'], $autocomplete_items_limit); // Loop through the products and convert them into autocomplete output. foreach ($entity_labels as $values) { diff --git a/sites/all/modules/contrib/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php b/sites/all/modules/contrib/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php --- a/sites/all/modules/contrib/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php +++ b/sites/all/modules/contrib/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php @@ -65,6 +65,14 @@ class EntityReference_SelectionHandler_Generic implements EntityReference_Select '#description' => t('The bundles of the entity type that can be referenced. Optional, leave empty for all bundles.'), '#element_validate' => array('_entityreference_element_validate_filter'), ); + + $form['autocomplete_items_limit'] = array( + '#type' => 'textfield', + '#title' => t('Autocomplete Items Limit'), + '#default_value' => empty($field['settings']['handler_settings']['autocomplete_items_limit']) ? 10 : $field['settings']['handler_settings']['autocomplete_items_limit'], + '#required' => TRUE, + '#description' => t('Items to show in autocomplete list.'), + ); } else { $form['target_bundles'] = array(