Zum Hauptinhalt springen
Version: 2025.11

Asset-Daten Serialisieren

Überblick

Das Bundle bietet einen "FieldSerializer" Service an, mit dem man Felder mit Asset-Daten für den Export serialisieren kann. Dies kann z.B. in einem Export-Adapter nötig sein.

Namespace

Der Service befindet sich hier: Twocream\ShopwareConnectorBundle\Serializer\FieldSerializer

Methoden

Der Service bietet Serialisierungs-Methoden für folgende Datentypen an:

Asset

Name: serializeAsset

Rückgabe: Ein Array der Asset-Daten mit folgenden Einträgen: 'mimetype', 'filename', 'path', 'modification-date', 'size', 'translations', 'thumbnails'

Argumente:

Name & DatentypPflichtBeschreibung
?Asset $assetJaDas zu serialisierende Asset-Objekt.
AssetHelper $assetHelperJaEine AssetHelper Instanz. Siehe: Asset Helper.
array $thumbnailNamesNein - Default: []Gibt die Thumbnails an, für die das Asset generiert werden soll.
array $metaFieldMappingNein - Default: []Ein Mapping für abweichende Metadaten-Namen.

Standardmäßig wird von den Namen "title", "alt" & "copyright" ausgegangen, sollten die tatsächlichen Metadaten anders benannt sein, so kann man hier z.B. durch ['title' => 'name'] angeben, dass für den Titel statt dem Metadatenwert unter "title" der Wert unter "name" genutzt werden soll.
string $folderNein - Default: 'media'Optionaler Unterordner unterhalb des definierten Asset-Pfads, in dem die generierten Dateien abgelegt werden.
?array $languagesNein - Default: nullEine Liste an Sprachen für die Übersetzungen von Metadaten.

ImageGallery

Name: serializeImageGalleryField

Rückgabe: Ein Array mit Asset-Daten-Einträgen für jedes Bild in der Galerie. Es wird jeweils ein Array mit folgenden Einträgen generiert: 'mimetype', 'filename', 'path', 'modification-date', 'size', 'translations', 'thumbnails'

Argumente:

Name & DatentypPflichtBeschreibung
?ImageGallery $imageGalleryJaDas zu serialisierende ImageGallery-Objekt.
AssetHelper $assetHelperJaEine AssetHelper Instanz. Siehe: Asset Helper.
array $thumbnailNamesNein - Default: []Gibt die Thumbnails an, für die das Asset generiert werden soll.
array $metaFieldMappingNein - Default: []Ein Mapping für abweichende Metadaten-Namen.

Standardmäßig wird von den Namen "title", "alt" & "copyright" ausgegangen, sollten die tatsächlichen Metadaten anders benannt sein, so kann man hier z.B. durch ['title' => 'name'] angeben, dass für den Titel statt dem Metadatenwert unter "title" der Wert unter "name" genutzt werden soll.
string $folderNein - Default: 'media'Optionaler Unterordner unterhalb des definierten Asset-Pfads, in dem die generierten Dateien abgelegt werden.
?array $languagesNein - Default: nullEine Liste an Sprachen für die Übersetzungen von Metadaten.

Video

Name: serializeVideoField

Rückgabe: Ein Array der Video-Daten mit folgenden Einträgen: 'type', 'title', 'description', 'date', 'youtube-id'

Argumente:

Name & DatentypPflichtBeschreibung
?AbstractObject $videoObjectJaDas Datenobjekt, welches das zu serialisierende Video-Feld enthält.
string $videoFieldIdentifierJaDer Feldname des Video-Felds
array $fieldMappingJaEin Mapping für abweichende Feld-Namen.

Standardmäßig wird von den Namen "title", "description" & "date" ausgegangen, sollten die tatsächlichen Felder anders benannt sein, so kann man hier z.B. durch ['title' => 'name'] angeben, dass für den Titel statt dem Feld "title" das Feld "name" genutzt werden soll.
?string $languageNein - Default: nullDie Sprache, für die die Video-Daten serialisiert werden sollen. Dies ist nur nötig, wenn das Feld lokalisiert ist.

Video (Mehrsprachig)

Name: serializeMultiLanguageVideoField

Rückgabe: Ein Array mit dem Eintrag 'translations', in dem sich ein Array mit Video-Daten für jede Sprache befindet. Die Video-Daten haben folgende Einträge: 'type', 'title', 'description', 'date', 'youtube-id'

Argumente:

Name & DatentypPflichtBeschreibung
?AbstractObject $videoObjectJaDas Datenobjekt, welches das zu serialisierende Video-Feld enthält.
string $videoFieldIdentifierJaDer Feldname des Video-Felds.
array $fieldMappingJaEin Mapping für abweichende Feld-Namen.

Standardmäßig wird von den Namen "title", "description" & "date" ausgegangen, sollten die tatsächlichen Felder anders benannt sein, so kann man hier z.B. durch ['title' => 'name'] angeben, dass für den Titel statt dem Feld "title" das Feld "name" genutzt werden soll.
array $languagesJaDie Sprachen, für die die Video-Daten serialisiert werden sollen.
?string $defaultVideoFieldIdentifierNein - Default: nullDer Standard-Feldname eines Video-Felds, dessen Daten genutzt werden sollen, falls für eine Sprache keine Daten gefunden wurden. Hierbei wird die Standardsprache angewendet.
?string $defaultLanguageNein - Default: nullDie Sprache, für die die Daten aus dem Standard-Feld bezogen werden sollen, falls für eine Sprache keine Daten gefunden wurden.