Im heutigen Beitrag zeige ich euch, wie ihr die Attribute in Shopware-Plugins ab Version 5.2 korrekt verwalten könnt.
Erstellen/Aktualisieren von Attributen:
/** @var CrudService $service */
$service = Shopware()->Container()->get( 'shopware_attribute.crud_service' );
$service->update( 's_articles_attributes', 'lenz_field_one', 'boolean', [
'label' => 'Feld 1',
'displayInBackend' => true,
'position' => 900,
'custom' => false,
'translatable' => true,
] );
$metaDataCache = Shopware()->Models()->getConfiguration()->getMetadataCacheImpl();
$metaDataCache->deleteAll();
Shopware()->Models()->generateAttributeModels( [ 's_articles_attributes' ] );
Wichtiges:
- Immer Meta-Cache leeren
- Immer Attribute neu generieren
Wenn diese Dinge nicht gemacht werden, kann es zu Fehlermeldungen im Shop kommen.
Löschen von Attributen:
/** @var CrudService $service */
$service = Shopware()->Container()->get( 'shopware_attribute.crud_service' );
$service->delete( 's_articles_attributes', 'lenz_field_one' );
$metaDataCache = Shopware()->Models()->getConfiguration()->getMetadataCacheImpl();
$metaDataCache->deleteAll();
Shopware()->Models()->generateAttributeModels( [ 's_articles_attributes' ] );
Wichtiges:
- Immer Meta-Cache leeren
- Immer Attribute neu generieren
Wenn diese Dinge nicht gemacht werden, kann es zu Fehlermeldungen im Shop kommen.