Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 PST on 31 March 2024, to get $100 off your ticket.
By Berdir on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
8.x
Description:
The #autocomplete_path
form API property has been changed to to pass the search query string as the GET argument q
because the new router system breaks the ability to have '/' in a search string.
The two affected autocomplete implementations in core are user/autocomplete
and taxonomy/autocomplete/field_name
. The request for the user autocomplete with the search string "Ad" is changed from user/autocomplete/Ad
to user/autocomplete?q=Ad
.
Page callbacks/controllers need to be updated to read the search string from the request object.
7.x
function mymodule_autocomplete($string = '') {
// If the request has a '/' in the search text, then the menu system will have
// split it into multiple arguments, recover the intended $string.
$args = func_get_args();
$string = implode('/', $args);
// ...
}
8.x
function mymodule_autocomplete() {
$string = Drupal::service('request')->query->get('q');
// ...
}
Impacts:
Module developers