mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-18 23:46:21 +02:00
* First cut * Temporarily disable composer.json for netlify build * POC * New recursive directory query, various refinements * Fix flexbox * new styled components plugin * Apply frontmatter delimiters * Mobile styles, animation * Search * Redesign, clean up * Nuke the cache, try again * fix file casing * Remove production env file * ID headers * Move app to new repo * Add frontmatter universally * Hide children changelogs * Add how to title * New callout tags * Revert inline code block change * Replace note callouts * Fix icons * Repalce images * Fix icon * Fix image links * Use proper SQL icon
35 lines
873 B
Markdown
35 lines
873 B
Markdown
---
|
|
title: Extending an existing ModelAdmin
|
|
summary: ModelAdmin interfaces that come with the core can be customised easily
|
|
---
|
|
## Extending existing ModelAdmin
|
|
|
|
Sometimes you'll work with ModelAdmins from other modules. To customise these interfaces, you can always subclass. But there's
|
|
also another tool at your disposal: The [Extension](api:SilverStripe\Core\Extension) API.
|
|
|
|
|
|
```php
|
|
use SilverStripe\Core\Extension;
|
|
|
|
class MyAdminExtension extends Extension
|
|
{
|
|
// ...
|
|
public function updateEditForm(&$form)
|
|
{
|
|
$form->Fields()->push(/* ... */)
|
|
}
|
|
}
|
|
```
|
|
|
|
Now enable this extension through your `[config.yml](/topics/configuration)` file.
|
|
|
|
|
|
```yml
|
|
MyAdmin:
|
|
extensions:
|
|
- MyAdminExtension
|
|
```
|
|
|
|
The following extension points are available: `updateEditForm()`, `updateSearchContext()`,
|
|
`updateSearchForm()`, `updateList()`, `updateImportForm`.
|