TB.One > Produkt- und Artikeldaten > Vorlagen > Twig-Templates anlegen > Beispiel-Template (Twig)
<!-- Überschrift definieren, hier mit Präfix + Gattungsname + Eigenname, Splitvarianten und Varianteneigenschaften ausspielen, wenn vorhanden --> <h1>{{ product.prefix }} {{ product.name_keyword }} {{ product.name_proper }} {% if not product.split_variations is empty %} ({{ product.split_variations | join(", ") }}) {% endif %} {% if not product.variation_values is empty %} {{ product.variation_values | join(", ") }} {% endif %} </h1> <!-- Produktnummer anzeigen --> Produktnummer: {{ product.p_nr }} <!-- Sondertext einfügen, falls vorhanden --> {% if not product.supplement is empty %} <h2>{{ product.supplement }}</h2> {% endif %} <!-- Anzeige formatieren --> <table width="100%" cellpadding="0" cellspacing="0" > <tr> <td width="1%" valign="top"><img src="http://server.net/img/blind.gif" /></td> <td width="30%" valign="top" align="center"> <!-- Medien einbinden. Der Parameter eps_url ist nur für eBay gültig --> {% if channel.short_name == "ebde" %} {% for row in media %} <img src="{{ row | eps_url(10) }}" /> {% endfor %} {% endif %} </td> <td width="69%" valign="top" align="left" cellpadding="2"> <!-- Marke einfügen (falls nicht schon als Präfix verwendet) - --> <p>Stylishe {{ product.name_keyword }} von <strong>{{ product.brand.name }}</strong></p> <!-- Produktbeschreibung mit Zeilenumbrüchen einfügen --> <p>{{ product.text | nl2br }}</p> <!-- Navigation einfügen --> <p> {% for category in product.channel_data.ebde.categories %} <!-- tbone id --> {{ category.id }} <!-- eBay category id --> {{ category.key }} <!-- Pfad --> {{ category.name }} <!-- Primäre oder sekundäre Kategorie --> {{ category.type }} {% endfor %} </p> <!-- Komponenten auflisten, falls vorhanden. Liste mit Aufzählungspunkten oder jedes andere Format ist auch möglich. --> <p> {% if not product.comps_all is empty %} {% for component in product.comps_all %} {{ component.key }}: {{ component.value }} {% endfor %} {% endif %} </p> <!-- Produktattribute auflisten --> <p> <ul> {% for tag in product.tags %} <li><span>{{ tag.name }}</span>: <ul> {% for value in tag.values %} <li>{{ value.name }}</li> {% endfor %} </ul> {% endfor %} </li> </ul> </p> <!-- Aufzählungspunkte auflisten, falls vorhanden --> <p> {% if not product.text_bullets is empty %} <ul> {% for item in product.text_bullets %} <li>{{ item }}</li> {% endfor %} </ul> {% endif %} <!-- Featureliste einfügen, falls vorhanden--> {% if not product.text_features is empty %} <ul> {% for item in product.text_features %} <li>{{ item }}</li> {% endfor %} </ul> {% endif %} </p> <!-- Servicetext einfügen, falls vorhanden --> <p> {% if not product.text_service is empty %} <strong>Servicehinweis:</strong>{{ product.text_service | nl2br }} {% endif %} </p> <!-- - Umwelttext einfügen, falls vorhanden --> <p> {% if not product.text_environmental is empty %} <strong>Umwelthinweis:</strong> {{ product.text_environmental | nl2br }} {% endif %} </p> <!-- Wenn VK niedriger als UVP, dann UVP (auf zwei Nachkommastellen formatiert) anzeigen --> {% set lowestMAPprice = null %} {% for article in product.articles %} {% if (article.a_uvp > article.a_vk) and ((lowestMAPprice == null) or (lowestMAPprice > article.a_uvp)) %} {% set lowestMAPprice = article.a_uvp %} {% endif %} {% endfor %} {% if (lowestMAPprice != null) %} <p>UVP<span> {{ lowestMAPprice | number_format(2, ',', '.') }} € </span></p> {% endif %} <!-- Wenn VK niedriger als VK bisher, dann VK bisher (auf zwei Nachkommastellen formatiert) anzeigen --> {% set lowestOldprice = null %} {% for article in product.articles %} {% if (article.a_vk_old > article.a_vk) and ((lowestOldprice == null) or (lowestOldprice > article.a_vk_old)) %} {% set lowestOldprice = article.a_vk_old %} {% endif %} {% endfor %} {% if (lowestOldprice != null) %} <p class="uvp">Vorher <span> {{ lowestOldprice | number_format(2, ',', '.') }} € </span></p> {% endif %} <!-- Niedrigsten Preis berechnen und einfügen. Hierfür zuvor den Wert der Variable auf null setzen --> {% set lowestprice = null %} {% for article in product.articles %} {% if (lowestprice == null) or (lowestprice > article.a_vk) %} {% set lowestprice = article.a_vk %} {% endif %} {% endfor %} <p class="articlePrice"><strong>jetzt nur noch</strong> € {{ lowestprice | number_format(2, ',', '.') }}</p> <!-- Max. MwSt.-Satz über alle Artikel hinweg ermitteln --> {% set tax = null %} {% for article in product.articles %} {% if (article.a_tax > tax) %} {% set tax = article.a_tax %} {% endif %} {% endfor %} <!-- Max. Versandkosten über alle Artikel ermitteln --> {% set shipping = null %} {% for article in product.articles %} {% if (article.delivery.shipping_costs > shipping) %} {% set shipping = article.delivery.shipping_costs %} {% endif %} {% endfor %} <!-- MwSt. und Versandkosten (auf zwei Nachkommastellen formatiert) für das Produkt ausgeben --> <p> {% if (shipping != 0) %} incl. {{ tax }} % VAT plus {{ shipping | number_format(2, ',', '.') }} € shipping costs. {% else %} incl. {{ tax }} % VAT <strong>free shipping</strong> {% endif %} </p> <!-- Max. Gewicht für alle Artikel ermitteln - --> {% set weight = null %} {% for article in product.articles %} {% if (article.packaging.weight > weight) %} {% set weight = article.packaging.weight %} {% endif %} {% endfor %} <p>Gewicht: {{ weight }} kg </p> <!-- Max. Lieferzeit über alle Artikel ermitteln --> {% set time = null %} {% for article in product.articles %} {% if (article.delivery.time > time) %} {% set time = article.delivery.time %} {% endif %} {% endfor %} <p>Lieferzeit: {{ time }} Tag(e) </p> <!---Kennzeichen über die Wiederbeschaffung aller Artikel ermitteln--> <!-- Das Kennzeichen zur Wiederbeschaffung soll tendenziell nicht ausgegeben werden, kann aber verwendet werden, um die Lieferzeit für einen Artikel zu berechnen. Bspw. kann, wenn das Kennzeichen 1 ist, die delivery.time + delivery.replace_time berechnet werden, um die korrekte Versandzeit anzuzeigen, wenn der Bestand 0 ist --> {% set replace = null %} {% for article in product.articles %} {% if (article.delivery.replace > replace) %} {% set replace = article.delivery.replace %} {% endif %} {% endfor %} <p>Wiederbeschaffbar: {{ replace }}</p> <!-- Max. Wiederbeschaffungszeit (= die Zeit bis ein Artikel wieder verfügbar ist) über alle Artikel ermitteln - --> {% set repl_time = null %} {% for article in product.articles %} {% if (article.delivery.replace_time > repl_time) %} {% set repl_time = article.delivery.replace_time %} {% endif %} {% endfor %} <p>Wiederbeschaffungszeit: {{ repl_time }} Tag(e) </p> </td> </tr> </table> <!-- Artikelinformationen einfügen - --> <p><strong>Varianteninformationen:</strong></br> <!-- Schreibt den Tabellenkopf --> <table border="1" align="left"> <tr> <th>Art.No:</th> <th>Art.No2:</th> <th>Hersteller-Art.No.:</th> <th>EAN:</th> <th>Bestand:</th> <th>Maße:</th> </tr> <!-- Schreibt den dynamischen Teil der Tabelle--> {% for article in product.articles %} <tr> <!-- Artikelnummer - --> <td>{{ article.a_nr }}</td> <!-- Artikelnummer 2 --> <td>{{ article.a_nr2 }} </td> <!-- Produktnummer zum Artikel --> <td>{{ article.a_prod_nr }} </td> <!-- EAN --> <td>{{ article.a_ean }} </td> <!-- Bestand --> <td>{{ article.a_stock }} </td> <!-- Verpackungsbreite x Verpackungslänge x Verpackungshöhe --> <td>{{ article.packaging.width }} cm x {{ article.packaging.length }} cm x {{ article.packaging.height }} cm </td> </tr> {% endfor %} </table> </p> <!-- Cross-Selling einfügen, falls vorhanden (nur eBay) --> {% if channel.short_name == "ebde" %} {% set fittingArticles=[] %} {% set links=product|collect_ebay_links(8) %} {% if not links is empty %} <div> <h2>Further Recommendations</h2> {% for link in links %} {% set fittingArticles=fittingArticles|merge([link.target.p_nr]) %} {% endfor %} </div> {% endif %} {% endif %} |