dynamic / silverstripe-collection
Display a filterable collection of pages or dataobjects on a page.
Installs: 14 011
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 6
Forks: 5
Open Issues: 1
Type:silverstripe-vendormodule
pkg:composer/dynamic/silverstripe-collection
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2025-11-05 21:22:29 UTC
README
Display a filterable collection of pages or dataobjects on a page.
Requirements
- SilverStripe 4.x
Installation
composer require dynamic/silverstripe-collection
Configuration
In your config.yml:
Your/Namespace/ExamplePageController:
managed_object: ExampleObject
page_size: 10
extensions:
- Dynamic\Collection\CollectionExtension
Managed Page/DataObject
Collection will create a search form based on the managed object's $searchable_fields.
private static $searchable_fields = [
'Title' => [
'title' => 'Name',
],
'Category.ID' => [
'title' => 'Category',
],
];
For advanced setups, you can also create getCustomSearchContext() on your managed object.
To include a sorting dropdown field, create a getSortOptions() method on your managed object:
public function getSortOptions()
{
return array(
'Created' => 'Date',
'Title' => 'Name A-Z',
'Title DESC' => 'Name Z-A',
);
}
Templates
$CollectionSearchForm will display the search form.
You have mutliple options to loop through the results in your template:
$Collectionwill display a list of all results$PaginatedListwill paginate the results$GroupedList.GroupedBy(CategoryTitle)will display results grouped by the variable you pass
Documentation
See the docs/en folder.