This is the same feature as https://www.drupal.org/node/1959806 which was added in Drupal core 8.0.x, and it would be a great DX+ for custom and contrib modules. We also have at least one UX use case in core that would take advantage of that feature: #1822, and we also have a todo item for this in EntityLayoutContext::form()
, in https://github.com/backdrop/backdrop/blob/1.x/core/modules/layout/plugin...
...
$form['id'] = array(
'#title' => t('Enter the ID of a @entity', array('@entity' => $info['label'])),
'#type' => 'number',
'#default_value' => $input,
'#step' => 1,
'#min' => 1,
// @todo: Backdrop doesnt yet have a comprehensive entity autocomplete
// function. We'd need to write a custom autocomplete function that
// handles all entity types. This would be best as a core function
// rather than just for this code.
// '#autocomplete_path' => 'node/autocomplete',
'#weight' => -10,
);
...
Description:
The autocomplete field widgets provided by the Entity reference module have been refactored into a generic 'entity_autocomplete' Form API element which can be used in regular form structures (i.e. not only in entity forms).
Usage examples:
Provide a basic autocomplete element that matches node titles from all bundles:
$form['my_element'] = array( '#type' => 'entity_autocomplete', '#target_type' => 'node', // #default_value can be either an entity object or an array of entity objects. '#default_value' => $entity, );
If we want to restrict the matches to a single or a set of bundles, we can use the 'target_bundles' selection setting:
$form['my_element'] = array( '#type' => 'entity_autocomplete', '#target_type' => 'node', '#selection_handler' => 'default', // Optional. The default selection handler is pre-populated to 'default'. '#selection_settings' => array( 'target_bundles' => array('article', 'page'), ), );
For more usage examples, see the change record: New 'entity_autocomplete' form element added
Recent comments
Thanks for the guide, let me do just that. I hope there is still a chance of these seeing a backdrop port.
Station and Community Media
The block system and API in Backdrop is very different from Drupal's. In Backdrop, as in Drupal, modules can define blocks in code (in fact some of the API at this level is the same, with...
Drupal block module conversion
This was from examining line 2463- of the webform.module, where // Attach necessary JavaScript and CSS. $form['#attached'] = array( 'css' => array(backdrop_get_path('module', 'webform...
How do I diagnose Webform Conditionals failing?