...
Um nun individuelle Eigenschaften in bestehenden Entities zu ergänzen, auf die man keinen direkten Zugriff hat, ist es nötig ein Entity zu erstellen, welches das zu ursprüngliche Entity erweitert. Folgend die Beispieldateien:
Beispiel
Codeblock | ||||
---|---|---|---|---|
| ||||
<?php declare(strict_types=1); namespace Brandbox\Dev\Example\DbalExtend\Lib\Extend { use Symfony\Component\Validator\Constraints; use Doctrine\ORM\Mapping; class shopArticle { #[Mapping\Column(name: 'shop_article_example', type: 'string', nullable: false, length: 255, options: ['default': '']] #[Constraints\NotBlank, Constraints\NotHtml, Constraints\Length(max: 255)] public string $shopArticleExample = ''; } } |
...
Codeblock | ||||
---|---|---|---|---|
| ||||
{ "type": "modelling", "repositories": [ { "identifier": "shopArticle", "order": [ "general", "shopArticleExample" ], "groups": [ { "identifier": "general", "sets": [ { "identifier": "general", "order": [ "shopArticleName", "ShopArticleExample" ], "columns": [ { "type": "Input", "identifier": "ShopArticleExample", "label": { "de": "Beispiel", "en": "Example" }, "flags": ["result"], "constraint": [ "NotBlank()" ] } ] } ] } ] } ] } |
Umgang mit Translations
Wenn individuelle Properties bei Translation-Entities angereichert werden solle, erstellen Sie für Entity ebenfalls ein Extend-Entity. Zusätzlich ergänzen Sie bitte das flag "translatable" beim entsprechenden Property in der modelling.json.
Composer
Nach jeder Änderung an den Entity-Klassen ist es notwendig, mit Composer brandbox erneut zu installieren:
...