Zum Inhalt

Code Snippet für E-Mail

Dies ist die Anleitung für unsere empfohlene E-Mail-Template-Vorlage für das Shopware 6 Plugin "Bestellkommentar". Es ist dafür ausgelegt in einem deutschsprachigen Shop zu funktionieren. Hinweise für die Verwendung in englischsprachigen Shops findest Du weiter unten im Abschnitt.

Template-Vorlagen (für deutschsprachige Shops)

Plaintext

{% if order.customFields.lenz_order_comment_data is defined %}
    Kommentare/Anmerkungen des Kunden:<br>

    {% for group in order.customFields.lenz_order_comment_data %}
        Gruppe: {{ group.group.translated.name }}

        {% for field in group.formFields %}
            {% if field.type == 'select' or field.type == 'radio' %}
                {{ field.translated.label }}: 
                {% if field.options[field.value][order.languageId] is defined %}
                    {{ field.options[field.value][order.languageId] }}
                {% else %}
                    {# Fallback to default language. #}
                    {{ field.options[field.value]|first }}
                {% endif %}
            {% elseif field.type == 'checkbox' %}
                {{ field.translated.label }}:
                {% if field.value == 'true' %}Ja{% else %}Nein{% endif %}
            {% else %}
                {{ field.translated.label }}: {{ field.value }}
            {% endif %}
        {% endfor %}
    {% endfor %}
{% endif %}

HTML

{% if order.customFields.lenz_order_comment_data is defined %}
    Kommentare/Anmerkungen des Kunden:<br>
<br>
    {% for group in order.customFields.lenz_order_comment_data %}
        Gruppe: {{ group.group.translated.name }}<br>
<br>
        {% for field in group.formFields %}
            {% if field.type == 'select' or field.type == 'radio' %}
                {{ field.translated.label }}: 
                {% if field.options[field.value][order.languageId] is defined %}
                    {{ field.options[field.value][order.languageId] }}<br>
                {% else %}
                    {# Fallback to default language. #}
                    {{ field.options[field.value]|first }}<br>
                {% endif %}
            {% elseif field.type == 'checkbox' %}
                {{ field.translated.label }}:
                {% if field.value == 'true' %}Ja{% else %}Nein{% endif %}<br>
            {% else %}
                {{ field.translated.label }}: {{ field.value }}<br>
            {% endif %}
        {% endfor %}
        <br>
    {% endfor %}
<br>
<br>
{% endif %}

Template-Vorlage für Dokumente wie Lieferschein, Rechnung etc.

{% if order.customFields.lenz_order_comment_data is defined %}<div style="font-size: 10px; line-height: 10px;">
        Kommentare/Anmerkungen des Kunden:<br>
        {% for group in order.customFields.lenz_order_comment_data %}
            Gruppe: {{ group.group.translated.name }}<br>
            {% for field in group.formFields %}{% if field.type == 'select' or field.type == 'radio' %}{{ field.translated.label }}:
                    {% if field.options[field.value][order.languageId] is defined %}{{ field.options[field.value][order.languageId] }}<br>
                    {% else %}{# Fallback to default language. #}                        {{ field.options[field.value]|first }}<br>
                    {% endif %}{% else %}{{ field.translated.label }}: {{ field.value }}<br>
                {% endif %}{% endfor %}{% endfor %}</div>
{% endif %}

Beispiel-Implementierung im Lieferschein (documents/delivery_note.html.twig)

{# Der Inhalt dieser Datei muss im Template in documents/delivery_note.html.twig gepackt werden. #}
{% sw_extends '@Storefront/documents/delivery_note.html.twig' %}

{% block comment %}
    {{ parent() }}

    {% if order.customFields.lenz_order_comment_data is defined %}
        <div style="font-size: 10px; line-height: 10px;">
            Kommentare/Anmerkungen des Kunden:<br>
            {% for group in order.customFields.lenz_order_comment_data %}
                Gruppe: {{ group.group.translated.name }}<br>
                {% for field in group.formFields %}
                    {% if field.type == 'select' or field.type == 'radio' %}
                        {{ field.translated.label }}:
                        {% if field.options[field.value][order.languageId] is defined %}
                            {{ field.options[field.value][order.languageId] }}<br>
                        {% else %}
                            {# Fallback to default language. #}
                            {{ field.options[field.value]|first }}<br>
                        {% endif %}
                    {% else %}
                        {{ field.translated.label }}: {{ field.value }}<br>
                    {% endif %}
                {% endfor %}
            {% endfor %}
        </div>
    {% endif %}
{% endblock %}