Utilizzare #autocomplete in Drupal 8

                      
                        
    

Utilizzare #autocomplete in Drupal 8

Ci sono due valori importanti da impostare:

  1. #autocomplete_route_name

    passa il nome della funzione chiamata alla libreria javascript

  2. #autocomplete_route_parameters

    passa alla funzione gli argomenti per l'auto-completamento

$form['nome'] = array(
    '#type' => 'textfield',
    '#autocomplete_route_name' => 'miomodulo.autocomplete',
    '#autocomplete_route_parameters' => array('nome' => 'Lorenzo', 'contatore' => 10),
);

Definire il percorso Autocomplete in *.routing.yml

Bisogna ora definire in miomodulo.routing.yml il percorso della funzione:

miomodulo.autocomplete:
  path: '/mio-modulo-autocomplete/{nome}/{contatore}'
  defaults:
    _controller: '\Drupal\miomodulo\Controller\AutocompleteController::handleAutocomplete'
    _format: json
  requirements:
    _access: 'TRUE' #ATTENZIONE: Questa istruzione, fornisce a CHIUNQUE (non autenticati compresi) di avere accesso a questa funzione (Utile in molti casi, delicatissima in altri)