clesson-de / silverstripe-autocomplete
Silverstripe CMS module providing an autocomplete form field with model- or callback-based suggestions.
Package info
github.com/clesson-de/silverstripe-autocomplete
Type:silverstripe-vendormodule
pkg:composer/clesson-de/silverstripe-autocomplete
dev-dev
2026-05-08 06:10 UTC
Requires
- php: ^8.1
- silverstripe/admin: ^3
- silverstripe/framework: ^6
This package is auto-updated.
Last update: 2026-05-08 08:50:35 UTC
README
A Silverstripe module providing AutocompleteField, a form field with async autocomplete suggestions.
Features
- Suggestion source via DataObject class + property
- Suggestion source via callback callable
- Lightweight vanilla JS dropdown UI
Installation
composer require clesson-de/silverstripe-autocomplete composer vendor-expose
Usage
use Clesson\Silverstripe\Autocomplete\Forms\AutocompleteField; // 1) Model + property source $cityField = AutocompleteField::create('City', 'City') ->setSourceModel(\App\Models\Address::class, 'City') ->setLimit(8) ->setMinChars(2); // 2) Callback source $streetField = AutocompleteField::create('Street', 'Street') ->setSourceCallback([\App\Services\AddressService::class, 'searchStreetNames']) ->setLimit(10); $fields->addFieldsToTab('Root.Main', [$cityField, $streetField]);
Callback contract
Your callback receives the entered query string and must return an array of strings.
public static function searchStreetNames(string $query): array { if ($query === '') { return []; } return [ 'Main Street', 'Market Street', ]; }
API endpoint
GET /autocomplete-api/search
Request parameters are set automatically by AutocompleteField.
License
BSD-3-Clause