PHP code example of sunnysideup / silverstripe-ajax-select-field
1. Go to this page and download the library: Download sunnysideup/silverstripe-ajax-select-field library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sunnysideup / silverstripe-ajax-select-field example snippets
AjaxSelectField::create('MyField', 'My Field Label')
->setSearchCallback(
function ($query, $request) {
// This part is only ' => $page->ID,
'title' => $page->Title
];
}
$results = [];
foreach (SiteTree::get()->filter('Title:PartialMatch', $query) as $page) {
$results[] = [ 'id' => $page->ID, 'title' => $page->Title ];
}
return $results;
})
AjaxMultiSelectField::create('MyField', 'My Field Label')
->setSearchCallback(
function ($query, $request) {
// Return detail info for the selected ids on load
if ($ids = $request->getVar('ids')) {
foreach (SiteTree::get()->filter('ID', $ids) as $page) {
return [
'id' => $page->ID,
'title' => $page->Title,
'urlSegment' => $page->URLSegment // example of a custom field, see also below
];
}
}
$results = [];
foreach (SiteTree::get()->filter('Title:PartialMatch', $query) as $page) {
$results[] = [ 'id' => $page->ID, 'title' => $page->Title, 'urlSegment' => $page->URLSegment ];
}
return $results;
})->setDisplayFields([ 'title' => 'Custom Label', 'urlSegment' => 'URL' ])