Eigene Bulk Templates erstellen und bestehende bearbeiten
In diesem Abschnitt der Anleitung beschreiben wir, wie man eigene Templates erstellt sowie bestehende Templates bearbeitet.
Voraussetzung
Als Voraussetzung für diese Anleitung solltest du dir zunächst einmal die Allgemeine Informationen zu den Bulk Generatoren sowie die Erste Schritte anschauen. Hier wird u.a. auch beschrieben, wie du in die Konfigurationsoberfläche gelangst.
Einstellungen der Bulk Templates
Bei der Konfiguration der Templates stehen die folgenden Einstellung zur Verfügung:
-
Name
Definiert den internen Namen für das Template. Bei den von uns vorinstallierten Templates findest du hier Bezeichnungen wie dreiscSeoBulkProduct.defaultTemplates.metaTitle.productName. Hierbei handelt es sich lediglich um ein Textbaustein, sodass wir den Namen mehrsprachig zur Verfügung stellen können. Legst du eigene Templates an, so kann hier eine ganz normale Bezeichnung als Name hinterlegt werden.
-
Vorschau-Produkt
Hierbei handelt es sich um eine Auswahl, die ausschließlich für den Produkt Bulk Generator zur Verfügung steht. Erst wenn du hier ein Produkt ausgewählt hast, wird unten die entsprechende Vorschau des Templates angezeigt. Die Auswahl des Vorschau-Produkts wird nicht gespeichert. D.h., dass entsprechend bei jeder Bearbeitung des Templates ein Produkt ausgewählt werden muss, wenn eine Vorschau erwünscht ist.
-
Leerzeichen zwischen HTML-Tags entfernen
Ist diese Option aktiv, so werden Leerzeichen zwischen den HTML Tags entsprechend entfernt. Hierbei wird der Twig Filter spaceless auf das gesamte Template angewandt.
Weitere Informationen zu diesem Filter findest du unter:
https://twig.symfony.com/doc/3.x/filters/spaceless.html
-
Als OpenAI Prompt ausführen
Wenn diese Option aktiviert ist, wird das Template als OpenAI Prompt ausgeführt. Hierbei wird das Template als Text an die OpenAI API gesendet und die generierte Antwort als SEO Inhalt verwendet.
Weitere Informationen hierzu findest du unter:
SEO Professional » Module » Produkt- und Kategorie Bulk Generator » Exkurs: OpenAI Templates erstellen und nutzen
-
Template
Diese Option beherbergt das eigentiche Template.
-
Vorschau
In diesem Bereich wird die Vorschau des Templates angezeigt. Diese wird aktualisiert, sobald du eine Anpassung an dem Template durchführst. (Beachte bei dem Produkt Bulk Generator hierbei die Option Vorschau-Produkt)
Allgemeine Informationen zu dem Template-Code
Um eine maximale Flexibilität bei Generierung der Template zu gewährleisten, haben wir uns dazu entschieden, die Templates auf Basis von Twig zu gestalten. Hierbei handelt es sich um die Template Engine, die auch bei der Gestaltung der Storefront Themes zum Einsatz kommt. Um also eigene Templates zu erstellen, ist es erforderlich, dass du zumindest die Grundlagen dieser Engine erlernst oder aber entsprechend deine Shopware Agentur mit der Erstellung beauftragst.
Solltest du dich dazu entscheiden hier einen Einstieg zu finden und dich selbst ans Werk zu machen, so legen wir dir den folgenden Getting started Guide ans Herz:
https://twig.symfony.com/doc/3.x/templates.html
Des Weiteren findest du in unserer Dokumentation einen Exkurs für die wichtigsten Code Snippets sowie einen Exkurs für die Verwendung von Zusatzfeldern in Bulk Templates
Verfügbare Variablen für das Template
Zur Gestaltung der Templates stehen dir eine Reihe von Variablen zur Verfügung, die du innerhalb der Templates nutzen kannst. (Eine genauere Auflistung findest du unten) Um diese komfortabel nutzen zu können, kannst du dir diese mit einem Klick auf die Auswahlbox Variable hinzufügen anzeigen und mit einem weiteren Klick auf die jeweilige Variable entsprechend im Template einfügen.
Live Template Variablen und Autoload-Variablen
Neben den normalen Variablen existieren auch sogenannte Live Template Variablen. Diese erkennst du daran, dass sie am Anfang sowie am Ende jeweils zwei Rautezeichen aufweisen, wie bspw. ##shopName##. Diese Variablen werden erst in der Storefront aufgelöst, da erst hier der Context feststeht. Im Fall des Shopnamens also der Verkaufskanal über den die Seite aufgerufen wurde. Ein weiteres Beispiel für eine Live Template Variable wäre bspw. der Preis eines Produkts. Dieser kann pro Kunde, Shop, Rabatt usw. ganz unterschiedlich sein. Für die Adminstration heißt das, dass hier nach der Generierung noch ##VARIABLEN_NAME## zu sehen ist.
In der Auswahl der verfügbaren Variablen findest du teilweise Variablen mit einem [↯]-Zeichem im Pfad wie bspw. (product.manufacturer[↯].translated.name). Dies kennzeichnet lediglich, dass der Teil dieser Variable nur dann geladen wird, wenn dieser im Template definiert wurde. Nutzt du im o.g. Beispiel also product.manufacturer im Template, so werden auch alle Herstellerinformationen des Produkts geladen.
Variablen für Produkte
Für den Produkt Bulk Generator stehen die folgenden Variablen zur Auswahl:
- isVariant » Gibt an, ob es sich um eine Variante handelt
- product » Beinhaltet die Daten des aktuellen Produkts (ProductEntity)
- product.id » Id des Produkts
- product.translated.name » Name des Produkts
- product.translated.description » Beschreibung des Produkts
- product.translated.keywords » Keywords / Schlüsselwörter
- product.productNumber » Produktnummer
- product.manufacturerNumber » Herstellernummer
- product.manufacturer.id » Id des Herstellers
- product.manufacturer[↯].translated.name » Name des Herstellers
- product.manufacturer[↯].translated.description » Beschreibung des Herstellers
- product.ean » EAN Nummer
- product.restockTime » Wiederauffüllzeit in Tagen
- product.deliveryTime[↯].translated.name » Lieferzeit
- product.markAsTopseller » Produkt hervorheben [if-Beispiel]
- product.isCloseout » Abverkauf [if-Beispiel]
- product.shippingFree » Versandkostenfrei [if-Beispiel]
- product.stock » Lagerbestand
- product.availableStock » Verfügbarer Bestand
- product.minPurchase » Mindestabnahme
- product.maxPurchase » Maximalabnahme
- product.purchaseSteps » Staffelung
- product.packUnit » Verpackungseinheit
- product.purchaseUnit » Verkaufseinheit
- product.referenceUnit » Grundeinheit
- product.weight » Gewicht
- product.width » Breite
- product.height » Höhe
- product.length » Länge
- product.releaseDate.date » Erscheinungsdatum
- product.properties[↯] » Eigenschaften des Produkts [if-Beispiel]
- Beispiel für eine Implementierung unter "Produktname + Ausgabe der Produkteigenschaften" (Meta Beschreibung)
- product.properties[n].translated.name » Name der Eigenschaft (bspw.: Grün)
- product.properties[n].groupId » Id der Eigenschaftsgruppe
- product.properties[n].group.translated.name » Name der Eigenschaftsgruppe (bspw. Farbe)
- product.options[↯] » Varianten-Eigenschaften [if-Beispiel]
- *Beispiel für eine Implementierung unter "Produktname [+ Variantenoptionen bei Varianten]" (Meta Titel)
- product.options[n].translated.name » Name der Varianteneigenschaft (bspw.: M)
- product.options[n].group.translated.name » Name der Gruppe der Varianteneigenschaft (bspw.: Größe)
- product.tax.taxRate » Steuersatz des Produkts
- productSeo » Beinhaltet die aufbereiteten SEO Einstellungen des
- productSeo.metaTitle » Meta Titel des Produkts
- productSeo.isInheritedMetaTitle » Meta Titel des Produkts wurde vererbt [if-Beispiel]
- productSeo.metaDescription » Meta Beschreibung des Produkts
- productSeo.isInheritedMetaDescription » Meta Beschreibung des Produkts wurde vererbt [if-Beispiel]
- productSeo.url » URL des Produkts
- productSeo.isInheritedUrl » URL des Produkts wurde vererbt [if-Beispiel]
- mainCategory »Beinhaltet die Daten der Hauptkategorie des Produkts*¹ (CategoryEntity)
(Bitte beachten: Diese Variable steht nur bei der SEO Einstellung SEO-URL zur Verfügung)
- mainCategory.id » Id der Hauptkategorie des Produkts
- mainCategory.translated.name » Name der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.translated.description » Beschreibung der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.translated.breadcrumb » Breadcrumb der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.type » Kategory-Typ der Hauptkategorie des Produkts
- mainCategorySeo » Beinhaltet die aufbereiteten SEO Einstellungen der Hauptkategorie des Produkts*¹
(Bitte beachten: Diese Variable steht nur bei der SEO Einstellung SEO-URL zur Verfügung)
- mainCategorySeo.metaTitle » Meta Titel der Hauptkategorie
- mainCategorySeo.isInheritedMetaTitle » Meta Titel der Hauptkategorie wurde vererbt [if-Beispiel]
- mainCategorySeo.metaDescription » Meta Beschreibung der Hauptkategorie
- mainCategorySeo.isInheritedMetaDescription » Meta Beschreibung der Hauptkategorie wurde vererbt [if-Beispiel]
- mainCategorySeo.url » URL der Hauptkategorie
- mainCategorySeo.isInheritedUrl » URL der Hauptkategorie wurde vererbt
- ##productPrice## » Diese Live Template Variable gibt den aktuellen Preis an. (Kann nicht für die SEO Einstellung SEO-URL verwendet werden)
*¹ Hauptkategorie des Produkts: Hauptkategorie, die in den Artikelstammdaten unter "Canonical Urls" für den jeweiligen Vertriebskanal ausgewählt wurde.
Variablen für Kategorien
Für den Kategorie Bulk Generator stehen die folgenden Variablen zur Auswahl:
- category » Beinhaltet die Daten der Kategorie (CategoryEntity)
- category.id » Id der Kategorie des Produkts
- category.translated.name » Name der Kategorie [in ausgewählter Sprache]
- category.translated.description » Beschreibung der Kategorie [in ausgewählter Sprache]
- category.translated.breadcrumb » Breadcrumb der Kategorie [in ausgewählter Sprache]
- categorySeo » Beinhaltet die aufbereiteten SEO Einstellungen der Kategorie
- categorySeo.metaTitle » Meta Titel der Kategorie
- categorySeo.isInheritedMetaTitle » Meta Titel der Kategorie wurde vererbt [if-Beispiel]
- categorySeo.metaDescription » Meta Beschreibung der Kategorie
- categorySeo.isInheritedMetaDescription » Meta Beschreibung der Kategorie wurde vererbt [if-Beispiel]
- categorySeo.url » URL der Kategorie
- categorySeo.isInheritedUrl » URL der Kategorie wurde vererbt
- categoryParentSeo » Beinhaltet die aufbereiteten SEO Einstellungen der direkten Eltern-Kategorie (category.parent)
- categoryParentSeo.metaTitle » Meta Titel der Eltern-Kategorie
- categoryParentSeo.isInheritedMetaTitle » Meta Titel der Eltern-Kategorie wurde vererbt [if-Beispiel]
- categoryParentSeo.metaDescription » Meta Beschreibung der Eltern-Kategorie
- categoryParentSeo.isInheritedMetaDescription » Meta Beschreibung der Eltern-Kategorie wurde vererbt [if-Beispiel]
- categoryParentSeo.url » URL der Eltern-Kategorie
- categoryParentSeo.isInheritedUrl » URL der Eltern-Kategorie wurde vererbt
- parentCategories » Beinhaltet die Daten der Eltern-Kategorien der aktuellen Kategory (CategoryEntity[])
- childCategories » Beinhaltet die Daten der Kind-Kategorien der aktuellen Kategory (CategoryEntity[])
Variablen für Medien
Für den Media Bulk Generator stehen die folgenden Variablen zur Auswahl:
- media » Beinhaltet die Daten der des Mediums (MediaEntity)
- media.id » Id des Mediums
- media.translated.alt » Aktueller Alt-Tag des Mediums [in ausgewählter Sprache]
- media.translated.title » Aktuelles Title-Tag des Mediums [in ausgewählter Sprache]
- media.mimeType » Mime Type des Mediums (bspw. "image/jpeg")
- media.fileExtension » Dateiendung des Mediums (bspw. "jpg")
- media.fileName » Dateiname des Mediums (bspw. "jacke_seo.jpg")
- media.fileSize » Dateigröße des Mediums (bspw. 971531)
- media.metaData.width » Breite des Mediums in px (bspw. 1648)
- media.metaData.height » Höhe des Mediums in px (bspw. 785)
- media.mediaType.name » Typ des Mediums (bspw. "IMAGE")
- media.url » URL des Mediums (bspw. "http://localhost/media/7a/dd/37/1750167165/jacke_seo.jpg")
- media.path » Dateipfad des Mediums (bspw. "media/7a/dd/37/1750167165/jacke_seo.jpg")
- media.customFields » Freitextfelder des Mediums
- media.tags » Tags des Mediums (siehe auch "mediaTagNames" weiter unten)
- media.categories » Kategorien bei denen das Medium als Anzeigebild hinterlegt sind (CategoryCollection)
- media.productMedia » Produkt Medium Zuweisungen bei denen das Medium hinterlegt sind (ProductMediaCollection)
- media.productManufacturers » Hersteller bei denen das Medium hinterlegt sind (ProductManufacturerCollection)
- media.propertyGroupOptions » Eigenschaften bei denen das Medium hinterlegt sind (PropertyGroupOptionCollection)
- hasCategoryAssignments » Gibt an, ob das Bild bei min. einer Kategorie als Anzeigebild verwendet wird.
- firstCategoryAssignment » Beinhaltet die erste Kategorie, bei der das Medium als Anzeigebild hinterlegt ist (CategoryEntity). Alternativ kann auch media.categories iteriert werden, um alle Kategorien mit einzubeziehen.
- firstCategoryAssignment.translated.name » Name der ersten Kategorie, als Beispiel für den Zugriff. Weitere Variablen können dem Abschnitt
Variablen für Kategorien entnommen werden.
- hasProductMediaAssignments » Gibt an, ob das Bild bei min. einem Produkt als Medium zugewiesen ist.
- firstProductMediaAssignment » Beinhaltet die erste Produkt Medium Zuweisung des Mediums (ProductMediaEntity). Alternativ kann auch media.productMedia iteriert werden, um alle Produkt Medien mit einzubeziehen.
- firstProductMediaAssignment.position » Position des Mediums im Produkt (bspw. 0)
- firstProductMediaAssignment.product » Beinhaltet die Daten des Produkts der ersten Mediums (ProductEntity)
- firstProductMediaAssignment.product.translated.name » Name des Produkts, als Beispiel für den Zugriff. Weitere Variablen können dem Abschnitt
Variablen für Produkte entnommen werden.
- hasProductManufacturerAssignments » Gibt an, ob das Bild bei min. einem Hersteller als Medium zugewiesen ist.
- firstProductManufacturerAssignments » Beinhaltet die erste Hersteller-Zuweisung des Mediums (ProductManufacturerEntity). Alternativ kann auch media.productManufacturers iteriert werden, um alle Hersteller mit einzubeziehen.
- firstProductManufacturerAssignments.translated.name » Name des Herstellers
- firstProductManufacturerAssignments.translated.description » Beschreibung des Herstellers
- firstProductManufacturerAssignments.link » Homepage des Herstellers
- hasPropertyGroupOptions » Gibt an, ob das Bild bei min. einer Eigenschaft als Medium zugewiesen ist.
- firstPropertyGroupOptions » Beinhaltet die erste Eigenschafts-Zuweisung des Mediums (PropertyGroupOptionEntity). Alternativ kann auch media.propertyGroupOptions iteriert werden, um alle Eigenschaften mit einzubeziehen.
- firstPropertyGroupOptions.translated.name » Name der Eigenschaft [in ausgewählter Sprache]
- firstPropertyGroupOptions.group.translated.name » Name der Eigenschaftsgruppe [in ausgewählter Sprache]
- mediaTagNames » Array mit den Namen der Tags des Mediums (bspw. ["Tag1", "Tag2"])
Allgemeine Variablen
Die folgenden Variablen stehen sowohl beim Produkt Bulk Generator als auch beim Kategorie Bulk Generator zur Auswahl:
- language » Beinhaltet das LanguageEntity des aktuellen Generators
- language.locale.code » Locale Code der Sprache (bspw.: de-DE)
- systemDefaults
- systemDefaults.LANGUAGE_SYSTEM » Id der Standard-Sprache des Shops
- systemDefaults.CURRENCY » Id der Standard-Währung des Shops
- ##shopName## » Diese Live Template Variable gibt den Shopname des aktuellen Context an. (Kann nicht für die SEO Einstellung SEO-URL verwendet werden)
Beispiel: Produktname + ausgewählte Eigenschaft ausgeben
In dem folgenden Template Beispiel werden die Produkt Eigenschaft iteriert und nach der Eigenschaft Farbe gesucht.
{# Set the variables initial #}
{% set value = [] %}
{% set color = '' %}
{# Add the product properties #}
{% set groupNames = [] %}
{% set propertiesGroupedByProperties = [] %}
{# Iterate the product properties and try to find the group name "Farbe" #}
{% if product.properties is defined %}
{% for property in product.properties %}
{% set groupId = property.groupId %}
{% set groupName = property.group.translated.name %}
{% set propertyName = property.translated.name %}
{% if 'Farbe' == groupName %}
{% set color = propertyName %}
{% endif %}
{% endfor %}
{% endif %}
{% set value = value|merge([product.translated.name]) %}
{% if color is not empty %}
{% set value = value|merge(["in der Farbe"]) %}
{% set value = value|merge([color]) %}
{% endif %}
{{ value|join(' ') }}
Ergebnis:
[Produktname] in der Farbe [Farbwert]
dl dt {
font-weight: bolder;
margin-top: 1rem;
}
dl dd {
padding-left: 2rem;
}
h2 code {
font-size: 32px;
}
.category--description ul {
padding-left: 2rem;
}
dt code,
li...
mehr erfahren »
Fenster schließen
Eigene Bulk Templates erstellen und bestehende bearbeiten
In diesem Abschnitt der Anleitung beschreiben wir, wie man eigene Templates erstellt sowie bestehende Templates bearbeitet.
Voraussetzung
Als Voraussetzung für diese Anleitung solltest du dir zunächst einmal die Allgemeine Informationen zu den Bulk Generatoren sowie die Erste Schritte anschauen. Hier wird u.a. auch beschrieben, wie du in die Konfigurationsoberfläche gelangst.
Einstellungen der Bulk Templates
Bei der Konfiguration der Templates stehen die folgenden Einstellung zur Verfügung:
-
Name
Definiert den internen Namen für das Template. Bei den von uns vorinstallierten Templates findest du hier Bezeichnungen wie dreiscSeoBulkProduct.defaultTemplates.metaTitle.productName. Hierbei handelt es sich lediglich um ein Textbaustein, sodass wir den Namen mehrsprachig zur Verfügung stellen können. Legst du eigene Templates an, so kann hier eine ganz normale Bezeichnung als Name hinterlegt werden.
-
Vorschau-Produkt
Hierbei handelt es sich um eine Auswahl, die ausschließlich für den Produkt Bulk Generator zur Verfügung steht. Erst wenn du hier ein Produkt ausgewählt hast, wird unten die entsprechende Vorschau des Templates angezeigt. Die Auswahl des Vorschau-Produkts wird nicht gespeichert. D.h., dass entsprechend bei jeder Bearbeitung des Templates ein Produkt ausgewählt werden muss, wenn eine Vorschau erwünscht ist.
-
Leerzeichen zwischen HTML-Tags entfernen
Ist diese Option aktiv, so werden Leerzeichen zwischen den HTML Tags entsprechend entfernt. Hierbei wird der Twig Filter spaceless auf das gesamte Template angewandt.
Weitere Informationen zu diesem Filter findest du unter:
https://twig.symfony.com/doc/3.x/filters/spaceless.html
-
Als OpenAI Prompt ausführen
Wenn diese Option aktiviert ist, wird das Template als OpenAI Prompt ausgeführt. Hierbei wird das Template als Text an die OpenAI API gesendet und die generierte Antwort als SEO Inhalt verwendet.
Weitere Informationen hierzu findest du unter:
SEO Professional » Module » Produkt- und Kategorie Bulk Generator » Exkurs: OpenAI Templates erstellen und nutzen
-
Template
Diese Option beherbergt das eigentiche Template.
-
Vorschau
In diesem Bereich wird die Vorschau des Templates angezeigt. Diese wird aktualisiert, sobald du eine Anpassung an dem Template durchführst. (Beachte bei dem Produkt Bulk Generator hierbei die Option Vorschau-Produkt)
Allgemeine Informationen zu dem Template-Code
Um eine maximale Flexibilität bei Generierung der Template zu gewährleisten, haben wir uns dazu entschieden, die Templates auf Basis von Twig zu gestalten. Hierbei handelt es sich um die Template Engine, die auch bei der Gestaltung der Storefront Themes zum Einsatz kommt. Um also eigene Templates zu erstellen, ist es erforderlich, dass du zumindest die Grundlagen dieser Engine erlernst oder aber entsprechend deine Shopware Agentur mit der Erstellung beauftragst.
Solltest du dich dazu entscheiden hier einen Einstieg zu finden und dich selbst ans Werk zu machen, so legen wir dir den folgenden Getting started Guide ans Herz:
https://twig.symfony.com/doc/3.x/templates.html
Des Weiteren findest du in unserer Dokumentation einen Exkurs für die wichtigsten Code Snippets sowie einen Exkurs für die Verwendung von Zusatzfeldern in Bulk Templates
Verfügbare Variablen für das Template
Zur Gestaltung der Templates stehen dir eine Reihe von Variablen zur Verfügung, die du innerhalb der Templates nutzen kannst. (Eine genauere Auflistung findest du unten) Um diese komfortabel nutzen zu können, kannst du dir diese mit einem Klick auf die Auswahlbox Variable hinzufügen anzeigen und mit einem weiteren Klick auf die jeweilige Variable entsprechend im Template einfügen.
Live Template Variablen und Autoload-Variablen
Neben den normalen Variablen existieren auch sogenannte Live Template Variablen. Diese erkennst du daran, dass sie am Anfang sowie am Ende jeweils zwei Rautezeichen aufweisen, wie bspw. ##shopName##. Diese Variablen werden erst in der Storefront aufgelöst, da erst hier der Context feststeht. Im Fall des Shopnamens also der Verkaufskanal über den die Seite aufgerufen wurde. Ein weiteres Beispiel für eine Live Template Variable wäre bspw. der Preis eines Produkts. Dieser kann pro Kunde, Shop, Rabatt usw. ganz unterschiedlich sein. Für die Adminstration heißt das, dass hier nach der Generierung noch ##VARIABLEN_NAME## zu sehen ist.
In der Auswahl der verfügbaren Variablen findest du teilweise Variablen mit einem [↯]-Zeichem im Pfad wie bspw. (product.manufacturer[↯].translated.name). Dies kennzeichnet lediglich, dass der Teil dieser Variable nur dann geladen wird, wenn dieser im Template definiert wurde. Nutzt du im o.g. Beispiel also product.manufacturer im Template, so werden auch alle Herstellerinformationen des Produkts geladen.
Variablen für Produkte
Für den Produkt Bulk Generator stehen die folgenden Variablen zur Auswahl:
- isVariant » Gibt an, ob es sich um eine Variante handelt
- product » Beinhaltet die Daten des aktuellen Produkts (ProductEntity)
- product.id » Id des Produkts
- product.translated.name » Name des Produkts
- product.translated.description » Beschreibung des Produkts
- product.translated.keywords » Keywords / Schlüsselwörter
- product.productNumber » Produktnummer
- product.manufacturerNumber » Herstellernummer
- product.manufacturer.id » Id des Herstellers
- product.manufacturer[↯].translated.name » Name des Herstellers
- product.manufacturer[↯].translated.description » Beschreibung des Herstellers
- product.ean » EAN Nummer
- product.restockTime » Wiederauffüllzeit in Tagen
- product.deliveryTime[↯].translated.name » Lieferzeit
- product.markAsTopseller » Produkt hervorheben [if-Beispiel]
- product.isCloseout » Abverkauf [if-Beispiel]
- product.shippingFree » Versandkostenfrei [if-Beispiel]
- product.stock » Lagerbestand
- product.availableStock » Verfügbarer Bestand
- product.minPurchase » Mindestabnahme
- product.maxPurchase » Maximalabnahme
- product.purchaseSteps » Staffelung
- product.packUnit » Verpackungseinheit
- product.purchaseUnit » Verkaufseinheit
- product.referenceUnit » Grundeinheit
- product.weight » Gewicht
- product.width » Breite
- product.height » Höhe
- product.length » Länge
- product.releaseDate.date » Erscheinungsdatum
- product.properties[↯] » Eigenschaften des Produkts [if-Beispiel]
- Beispiel für eine Implementierung unter "Produktname + Ausgabe der Produkteigenschaften" (Meta Beschreibung)
- product.properties[n].translated.name » Name der Eigenschaft (bspw.: Grün)
- product.properties[n].groupId » Id der Eigenschaftsgruppe
- product.properties[n].group.translated.name » Name der Eigenschaftsgruppe (bspw. Farbe)
- product.options[↯] » Varianten-Eigenschaften [if-Beispiel]
- *Beispiel für eine Implementierung unter "Produktname [+ Variantenoptionen bei Varianten]" (Meta Titel)
- product.options[n].translated.name » Name der Varianteneigenschaft (bspw.: M)
- product.options[n].group.translated.name » Name der Gruppe der Varianteneigenschaft (bspw.: Größe)
- product.tax.taxRate » Steuersatz des Produkts
- productSeo » Beinhaltet die aufbereiteten SEO Einstellungen des
- productSeo.metaTitle » Meta Titel des Produkts
- productSeo.isInheritedMetaTitle » Meta Titel des Produkts wurde vererbt [if-Beispiel]
- productSeo.metaDescription » Meta Beschreibung des Produkts
- productSeo.isInheritedMetaDescription » Meta Beschreibung des Produkts wurde vererbt [if-Beispiel]
- productSeo.url » URL des Produkts
- productSeo.isInheritedUrl » URL des Produkts wurde vererbt [if-Beispiel]
- mainCategory »Beinhaltet die Daten der Hauptkategorie des Produkts*¹ (CategoryEntity)
(Bitte beachten: Diese Variable steht nur bei der SEO Einstellung SEO-URL zur Verfügung)
- mainCategory.id » Id der Hauptkategorie des Produkts
- mainCategory.translated.name » Name der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.translated.description » Beschreibung der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.translated.breadcrumb » Breadcrumb der Hauptkategorie des Produkts [in ausgewählter Sprache]
- mainCategory.type » Kategory-Typ der Hauptkategorie des Produkts
- mainCategorySeo » Beinhaltet die aufbereiteten SEO Einstellungen der Hauptkategorie des Produkts*¹
(Bitte beachten: Diese Variable steht nur bei der SEO Einstellung SEO-URL zur Verfügung)
- mainCategorySeo.metaTitle » Meta Titel der Hauptkategorie
- mainCategorySeo.isInheritedMetaTitle » Meta Titel der Hauptkategorie wurde vererbt [if-Beispiel]
- mainCategorySeo.metaDescription » Meta Beschreibung der Hauptkategorie
- mainCategorySeo.isInheritedMetaDescription » Meta Beschreibung der Hauptkategorie wurde vererbt [if-Beispiel]
- mainCategorySeo.url » URL der Hauptkategorie
- mainCategorySeo.isInheritedUrl » URL der Hauptkategorie wurde vererbt
- ##productPrice## » Diese Live Template Variable gibt den aktuellen Preis an. (Kann nicht für die SEO Einstellung SEO-URL verwendet werden)
*¹ Hauptkategorie des Produkts: Hauptkategorie, die in den Artikelstammdaten unter "Canonical Urls" für den jeweiligen Vertriebskanal ausgewählt wurde.
Variablen für Kategorien
Für den Kategorie Bulk Generator stehen die folgenden Variablen zur Auswahl:
- category » Beinhaltet die Daten der Kategorie (CategoryEntity)
- category.id » Id der Kategorie des Produkts
- category.translated.name » Name der Kategorie [in ausgewählter Sprache]
- category.translated.description » Beschreibung der Kategorie [in ausgewählter Sprache]
- category.translated.breadcrumb » Breadcrumb der Kategorie [in ausgewählter Sprache]
- categorySeo » Beinhaltet die aufbereiteten SEO Einstellungen der Kategorie
- categorySeo.metaTitle » Meta Titel der Kategorie
- categorySeo.isInheritedMetaTitle » Meta Titel der Kategorie wurde vererbt [if-Beispiel]
- categorySeo.metaDescription » Meta Beschreibung der Kategorie
- categorySeo.isInheritedMetaDescription » Meta Beschreibung der Kategorie wurde vererbt [if-Beispiel]
- categorySeo.url » URL der Kategorie
- categorySeo.isInheritedUrl » URL der Kategorie wurde vererbt
- categoryParentSeo » Beinhaltet die aufbereiteten SEO Einstellungen der direkten Eltern-Kategorie (category.parent)
- categoryParentSeo.metaTitle » Meta Titel der Eltern-Kategorie
- categoryParentSeo.isInheritedMetaTitle » Meta Titel der Eltern-Kategorie wurde vererbt [if-Beispiel]
- categoryParentSeo.metaDescription » Meta Beschreibung der Eltern-Kategorie
- categoryParentSeo.isInheritedMetaDescription » Meta Beschreibung der Eltern-Kategorie wurde vererbt [if-Beispiel]
- categoryParentSeo.url » URL der Eltern-Kategorie
- categoryParentSeo.isInheritedUrl » URL der Eltern-Kategorie wurde vererbt
- parentCategories » Beinhaltet die Daten der Eltern-Kategorien der aktuellen Kategory (CategoryEntity[])
- childCategories » Beinhaltet die Daten der Kind-Kategorien der aktuellen Kategory (CategoryEntity[])
Variablen für Medien
Für den Media Bulk Generator stehen die folgenden Variablen zur Auswahl:
- media » Beinhaltet die Daten der des Mediums (MediaEntity)
- media.id » Id des Mediums
- media.translated.alt » Aktueller Alt-Tag des Mediums [in ausgewählter Sprache]
- media.translated.title » Aktuelles Title-Tag des Mediums [in ausgewählter Sprache]
- media.mimeType » Mime Type des Mediums (bspw. "image/jpeg")
- media.fileExtension » Dateiendung des Mediums (bspw. "jpg")
- media.fileName » Dateiname des Mediums (bspw. "jacke_seo.jpg")
- media.fileSize » Dateigröße des Mediums (bspw. 971531)
- media.metaData.width » Breite des Mediums in px (bspw. 1648)
- media.metaData.height » Höhe des Mediums in px (bspw. 785)
- media.mediaType.name » Typ des Mediums (bspw. "IMAGE")
- media.url » URL des Mediums (bspw. "http://localhost/media/7a/dd/37/1750167165/jacke_seo.jpg")
- media.path » Dateipfad des Mediums (bspw. "media/7a/dd/37/1750167165/jacke_seo.jpg")
- media.customFields » Freitextfelder des Mediums
- media.tags » Tags des Mediums (siehe auch "mediaTagNames" weiter unten)
- media.categories » Kategorien bei denen das Medium als Anzeigebild hinterlegt sind (CategoryCollection)
- media.productMedia » Produkt Medium Zuweisungen bei denen das Medium hinterlegt sind (ProductMediaCollection)
- media.productManufacturers » Hersteller bei denen das Medium hinterlegt sind (ProductManufacturerCollection)
- media.propertyGroupOptions » Eigenschaften bei denen das Medium hinterlegt sind (PropertyGroupOptionCollection)
- hasCategoryAssignments » Gibt an, ob das Bild bei min. einer Kategorie als Anzeigebild verwendet wird.
- firstCategoryAssignment » Beinhaltet die erste Kategorie, bei der das Medium als Anzeigebild hinterlegt ist (CategoryEntity). Alternativ kann auch media.categories iteriert werden, um alle Kategorien mit einzubeziehen.
- firstCategoryAssignment.translated.name » Name der ersten Kategorie, als Beispiel für den Zugriff. Weitere Variablen können dem Abschnitt
Variablen für Kategorien entnommen werden.
- hasProductMediaAssignments » Gibt an, ob das Bild bei min. einem Produkt als Medium zugewiesen ist.
- firstProductMediaAssignment » Beinhaltet die erste Produkt Medium Zuweisung des Mediums (ProductMediaEntity). Alternativ kann auch media.productMedia iteriert werden, um alle Produkt Medien mit einzubeziehen.
- firstProductMediaAssignment.position » Position des Mediums im Produkt (bspw. 0)
- firstProductMediaAssignment.product » Beinhaltet die Daten des Produkts der ersten Mediums (ProductEntity)
- firstProductMediaAssignment.product.translated.name » Name des Produkts, als Beispiel für den Zugriff. Weitere Variablen können dem Abschnitt
Variablen für Produkte entnommen werden.
- hasProductManufacturerAssignments » Gibt an, ob das Bild bei min. einem Hersteller als Medium zugewiesen ist.
- firstProductManufacturerAssignments » Beinhaltet die erste Hersteller-Zuweisung des Mediums (ProductManufacturerEntity). Alternativ kann auch media.productManufacturers iteriert werden, um alle Hersteller mit einzubeziehen.
- firstProductManufacturerAssignments.translated.name » Name des Herstellers
- firstProductManufacturerAssignments.translated.description » Beschreibung des Herstellers
- firstProductManufacturerAssignments.link » Homepage des Herstellers
- hasPropertyGroupOptions » Gibt an, ob das Bild bei min. einer Eigenschaft als Medium zugewiesen ist.
- firstPropertyGroupOptions » Beinhaltet die erste Eigenschafts-Zuweisung des Mediums (PropertyGroupOptionEntity). Alternativ kann auch media.propertyGroupOptions iteriert werden, um alle Eigenschaften mit einzubeziehen.
- firstPropertyGroupOptions.translated.name » Name der Eigenschaft [in ausgewählter Sprache]
- firstPropertyGroupOptions.group.translated.name » Name der Eigenschaftsgruppe [in ausgewählter Sprache]
- mediaTagNames » Array mit den Namen der Tags des Mediums (bspw. ["Tag1", "Tag2"])
Allgemeine Variablen
Die folgenden Variablen stehen sowohl beim Produkt Bulk Generator als auch beim Kategorie Bulk Generator zur Auswahl:
- language » Beinhaltet das LanguageEntity des aktuellen Generators
- language.locale.code » Locale Code der Sprache (bspw.: de-DE)
- systemDefaults
- systemDefaults.LANGUAGE_SYSTEM » Id der Standard-Sprache des Shops
- systemDefaults.CURRENCY » Id der Standard-Währung des Shops
- ##shopName## » Diese Live Template Variable gibt den Shopname des aktuellen Context an. (Kann nicht für die SEO Einstellung SEO-URL verwendet werden)
Beispiel: Produktname + ausgewählte Eigenschaft ausgeben
In dem folgenden Template Beispiel werden die Produkt Eigenschaft iteriert und nach der Eigenschaft Farbe gesucht.
{# Set the variables initial #}
{% set value = [] %}
{% set color = '' %}
{# Add the product properties #}
{% set groupNames = [] %}
{% set propertiesGroupedByProperties = [] %}
{# Iterate the product properties and try to find the group name "Farbe" #}
{% if product.properties is defined %}
{% for property in product.properties %}
{% set groupId = property.groupId %}
{% set groupName = property.group.translated.name %}
{% set propertyName = property.translated.name %}
{% if 'Farbe' == groupName %}
{% set color = propertyName %}
{% endif %}
{% endfor %}
{% endif %}
{% set value = value|merge([product.translated.name]) %}
{% if color is not empty %}
{% set value = value|merge(["in der Farbe"]) %}
{% set value = value|merge([color]) %}
{% endif %}
{{ value|join(' ') }}
Ergebnis:
[Produktname] in der Farbe [Farbwert]