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 & Datentyp | Pflicht | Beschreibung |
|---|---|---|
?Asset $asset | Ja | Das zu serialisierende Asset-Objekt. |
AssetHelper $assetHelper | Ja | Eine AssetHelper Instanz. Siehe: Asset Helper. |
array $thumbnailNames | Nein - Default: [] | Gibt die Thumbnails an, für die das Asset generiert werden soll. |
array $metaFieldMapping | Nein - 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 $folder | Nein - Default: 'media' | Optionaler Unterordner unterhalb des definierten Asset-Pfads, in dem die generierten Dateien abgelegt werden. |
?array $languages | Nein - Default: null | Eine 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 & Datentyp | Pflicht | Beschreibung |
|---|---|---|
?ImageGallery $imageGallery | Ja | Das zu serialisierende ImageGallery-Objekt. |
AssetHelper $assetHelper | Ja | Eine AssetHelper Instanz. Siehe: Asset Helper. |
array $thumbnailNames | Nein - Default: [] | Gibt die Thumbnails an, für die das Asset generiert werden soll. |
array $metaFieldMapping | Nein - 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 $folder | Nein - Default: 'media' | Optionaler Unterordner unterhalb des definierten Asset-Pfads, in dem die generierten Dateien abgelegt werden. |
?array $languages | Nein - Default: null | Eine 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 & Datentyp | Pflicht | Beschreibung |
|---|---|---|
?AbstractObject $videoObject | Ja | Das Datenobjekt, welches das zu serialisierende Video-Feld enthält. |
string $videoFieldIdentifier | Ja | Der Feldname des Video-Felds |
array $fieldMapping | Ja | Ein 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 $language | Nein - Default: null | Die 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 & Datentyp | Pflicht | Beschreibung |
|---|---|---|
?AbstractObject $videoObject | Ja | Das Datenobjekt, welches das zu serialisierende Video-Feld enthält. |
string $videoFieldIdentifier | Ja | Der Feldname des Video-Felds. |
array $fieldMapping | Ja | Ein 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 $languages | Ja | Die Sprachen, für die die Video-Daten serialisiert werden sollen. |
?string $defaultVideoFieldIdentifier | Nein - Default: null | Der 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 $defaultLanguage | Nein - Default: null | Die Sprache, für die die Daten aus dem Standard-Feld bezogen werden sollen, falls für eine Sprache keine Daten gefunden wurden. |