TB.One > Produkt- und Artikeldaten > Vorlagen > Twig-Templates anlegen > Beispiel-Template (Twig)

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>&nbsp;{{ 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>&nbsp; {{ lowestMAPprice | number_format(2, ',', '.') }} &euro;&nbsp;</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>&nbsp; {{ lowestOldprice | number_format(2, ',', '.') }} &euro;&nbsp;</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> &euro; {{ 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, ',', '.') }} &euro; 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 }}&nbsp;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 }}&nbsp;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 }}&nbsp;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 }}&nbsp;cm x {{ article.packaging.length }}&nbsp;cm x {{ article.packaging.height }}&nbsp;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 %}