Ci sono due valori importanti da impostare:
-
#autocomplete_route_name
passa il nome della funzione chiamata alla libreria javascript
-
#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)