shopware/production

Zusatzfelder SELECT Type

cmg193 opened this issue · 2 comments

PHP Version

7.4

Shopware Version

6.4.4.0

Expected behaviour

Erwartet wird dass nach der Installation der Plugin einen Zusatzfeld erstellt wird mit:

  • Setname: cat_ext
  • Name: dos_menu_template
  • Typ Select Feld
  • Optionen :"list-drill" und "list"
  • Entität: Kategorien
  • Sprachen: in alle Sprachen pflegbar sein.

Actual behaviour

Wird alles richtig gemacht bis auf:

  • der hacken "In allen Administrationssprachen pflegen" ist nicht aktiv. Übersetzung ist da aber der hacken ist nicht gesetzt
  • Optionen: Das Select Feld wird falsch Konfiguriert (nehme an). In die Set Informationen sind die Optionen nicht sichtbar. In die Kategorie Übersicht wo die Felder zu erwarten sind, dreht sich die Ladeanimation unendlich.
    Sehe Schreenshots:

Set Informationen
1: image
2: image

Kategorie Übersicht
image

In der Datenbank wird folgendes geschrieben:

  1. custom_field
    image

  2. custom_field_set
    image

How to reproduce

Einfach eine neue Instanz von Shopware 6.4.4.0 aufsetzen,

  • einen Theme Plugin Schreiben
  • Bootstrap PHP erweitern mit
...
public function install(InstallContext $context): void
    {
        $customFields = [
            [
                'name' => 'cat_ext',
                'translated' => true,
                'config' => [
                    'label' => [
                        'de-DE' => 'Kategorien Erweiterung',
                        'en-GB' => "Category Extension"
                    ],
                    'customFieldPosition' => 2,
                ],
                'customFields' => [
                    [
                        'name' => 'dos_menu_template',
                        'type' => 'select',
                        'label' => [
                            'de-DE' => 'Menu Anzeige der Kategorie',
                            'en-GB' => 'Category display type',
                        ],
                        'active' => true,
                        'options' => [
                            [
                                'label' => [
                                    'de-DE' => 'Erweiterte Liste',
                                    'en-GB' => 'Drill List',
                                ],
                                'value' => 'list-drill',
                            ],
                            [
                                'label' => [
                                    'de-DE' => 'Liste',
                                    'en-GB' => 'List',
                                ],
                                'value' => 'list',
                            ],
                        ],
                    ]
                ],
                'relations' => [
                    ['entityName' => 'category']
                ]
            ]
        ];

// 1. versuch
//        foreach ($customFields as $customFieldSet) {
//            $repo->upsert([$customFieldSet], $context->getContext());
//        }
// 2. versuch
//        /** @var \Shopware\Core\Framework\DataAbstractionLayer\EntityRepository $repo */
//        $repo = $this->container->get('custom_field_set.repository');
//       $repo->create($customFields, $context->getContext());
}
...

Bei beide Code Versuche kommt dasselbe Ergebnis.

Mache ich da was falsch?

Plugin Installiere und Aktivieren.
Wobei nur die Installation sollte auch reichen

amenk commented

Ich glaube das ist besser als Frage im Forum, auf StackOverflow, oder - wenn es ein Bug - ist in https://github.com/shopware/platform/ oder issues.shopware.com aufgehoben :-)

shyim commented

See answer from @amenk