Attribute in Shopware-Plugins ab Version 5.2 korrekt verwalten

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.

Hallo, mein Name ist Sebastian Lenz. Seit dem Jahr 2013 betreibe ich als Shopdoktor ein Dienstleistungsunternehmen zur Betreuung von Webseiten und Onlineshops. Besonders interessiert bin ich an Shopware. Im Rahmen dessen habe ich bereits viele Plugins geschrieben und Themes angepasst.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Time limit is exhausted. Please reload CAPTCHA.