Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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
languagephp
titleBeispiel (shopArticle.php), um shopArticle zu erweitern
<?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
languagejs
titleBeispiel (modelling.json), um die Eigenschaft zu beschreiben
{
    "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:

...