...
Der CrudManager ermöglicht es Kopier- und Löschaktionen über eine Konfiguration zu steuern und zu reglementieren. Er setzt auf Brandbox/Doctrine auf und nutzt die folgenden Funktionen:
...
Definition per crud.json
Info |
---|
Eine crud.json muss dem in framework/resources/crud-schema.json beschriebenen JSON-Schema folgen. Eine Entwicklungsumgebung wie bspw. PHPStorm verfügt über eine einfache Validierungmöglichkeit für die Schemata. |
Codeblock |
---|
|
{
"repositories": [
{
"repository": "MyRepository",
"prohibited": [
"CopyRoot",
"CopyDefault",
"CopyRelate",
"CopyRecursive",
"DeleteDefault",
"DeleteRecursive"
],
"multiple": false,
"guidedActions": [
{
"identifier": "myGuidedAction",
"label": {
"de": "Lorem Ipsum...",
"en": "Lorem Ipsum..."
},
"actions": [
"CopyRecursive",
"DeleteRecursive"
],
"multiple": false,
"nodes": [
{
"repository": "MyRepository",
"nodes": [
{
"repository": "MyChildRepository"
}
]
}
]
}
]
}
]
} |
Beispiel
Codeblock |
---|
|
use Brandbox\Framework\Brandbox\Crud;
$ids = [1,2,3,4,5];
$entities = ['MyRepository' => $ids]
$logger = $this
->staticController(Crud\CrudManager::class)
->copy($entities, 'myGuidedAction')
;
$logger = $this
->staticController(Crud\CrudManager::class)
->delete($entities, 'myGuidedAction')
; |
...