For the complete documentation index, see llms.txt. This page is also available as Markdown.

Template Vorlagen

Auf dieser Seite finden Sie die mitgelieferten Standardvorlagen zum Nachschlagen und Kopieren. Sie entsprechen genau dem, was die Buttons Standardvorlage laden bzw. Standard-Style (CSS) laden in der Administration einfügen.

So kopieren Sie: Bewegen Sie die Maus über einen Codeblock und klicken Sie oben rechts auf das Kopier-Symbol. Fügen Sie den Inhalt anschließend in das passende Feld der Dokumentkonfiguration ein.

Verfügbare Vorlagen:


Tabelle für Bestellpositionen (Twig)

Diese Vorlage gehört in das Feld „Tabelle für Bestellpositionen (Twig-Template)" (Karte „Bestellposition"). Sie wird in drei Phasen gerendert (table, position, shipping) – Details siehe Tabelle der Bestellpositionen.

Deutsch

{% if hueRenderPhase == 'table' and config.displayLineItems %}
    <table class="line-item-table">
        <thead>
        <tr class="line-item-table-header">
            {% if config.displayLineItemPosition %}
                <th>Pos.</th>
            {% endif %}
            <th class="product-number">Prod.-Nr.</th>
            <th class="product-label">Produkt / Dienst</th>
            <th class="numbers">Anzahl</th>
            {% if config.displayPrices %}
                {% set companyTaxEnabled = billingAddress.country.companyTax.enabled %}
                {% set displayAdditionalNoteDelivery = config.displayAdditionalNoteDelivery %}
                {% set isDeliveryCountry = billingAddress.country.id in config.deliveryCountries %}
                {% set taxStatusGross = order.price.taxStatus == 'gross' %}
                {% set taxStatusNet = order.price.taxStatus == 'net' %}

                {% set displayVAT = not companyTaxEnabled or not (displayAdditionalNoteDelivery and isDeliveryCountry) %}
                <th class="numbers">USt.</th>

                <th class="numbers incl-vat">
                    Stückpreis
                    {% if displayVAT %}
                        {% if taxStatusGross %}
                            <span>Inkl. MwSt.</span>
                        {% elseif taxStatusNet %}
                            <span>Exkl. MwSt.</span>
                        {% endif %}
                    {% endif %}
                </th>

                <th class="numbers incl-vat">
                    Gesamt
                    {% if displayVAT %}
                        {% if taxStatusGross %}
                            <span>Inkl. MwSt.</span>
                        {% elseif taxStatusNet %}
                            <span>Exkl. MwSt.</span>
                        {% endif %}
                    {% endif %}
                </th>
            {% endif %}
        </tr>
        </thead>
{% elseif hueRenderPhase == 'position' and config.displayLineItems %}
    {% set class = '' %}
    {% if level > 0 %}
        {% set class = " nested level-" ~ level %}
    {% endif %}

    <tr class="line-item{{ class }}{% if first %} first{% endif %}" tabindex="0">
        {% block document_line_item_table_rows %}
            {% block document_line_item_table_row_position %}
                {% if config.displayLineItemPosition %}
                    <td>{% block document_line_item_table_column_position %}{{ prefix ~ position }}{% endblock %}</td>
                {% endif %}
            {% endblock %}

            {% block document_line_item_table_row_product_number %}
                {% if lineItem.payload.productNumber %}
                    <td class="line-item-product-number">{% block document_line_item_table_column_product_number %}{{ lineItem.payload.productNumber }}{% endblock %}</td>
                {% else %}
                    <td>{% block document_line_item_table_column_product_number_empty %}{% endblock %}</td>
                {% endif %}
            {% endblock %}

            {% block document_line_item_table_row_label %}
                <td class="line-item-breakable">
                    {% block document_line_item_table_column_label %}
                        {% if level > 0 %}
                            {% for i in 1..level %}
                                <span class="wrapper-wrapper">
                                    <span class="label-wrapper level-{{ i }}"></span>
                                </span>
                            {% endfor %}
                        {% endif %}

                        <span class="line-item-label level-{{ level }}">{{ lineItem.label|sw_sanitize(null, true) }}</span>
                        {% if lineItem.payload.options|length >= 1 %}
                            <br/>
                            {% for option in lineItem.payload.options %}
                                {{ option.group|sw_sanitize(null, true) }}: {{ option.option|sw_sanitize(null, true) }}
                                {% if lineItem.payload.options|last != option %}
                                    {{ " | " }}
                                {% endif %}
                            {% endfor %}
                        {% endif %}

                        {% if lineItem.payload.features|length >=1  %}
                            <br/>
                            {% for feature in lineItem.payload.features %}
                                {% if feature.type == 'referencePrice' %}
                                    {{ feature.value.purchaseUnit|sw_sanitize(null, true) }} {{ feature.value.unitName|sw_sanitize(null, true) }}
                                    ({{ feature.value.price|currency(currencyIsoCode, languageId) }}{{ "general.star"|trans }} / {{ feature.value.referenceUnit|sw_sanitize(null, true) }} {{ feature.value.unitName|sw_sanitize(null, true) }})
                                    {% if lineItem.payload.features|last != feature %}
                                        {{ " | " }}
                                    {% endif %}
                                {% endif %}
                            {% endfor %}
                        {% endif %}
                    {% endblock %}
                </td>
            {% endblock %}

            {% block document_line_item_table_row_quantity %}
                <td class="align-right">{% block document_line_item_table_column_quantity %}{{ lineItem.quantity }}{% endblock %}</td>
            {% endblock %}

            {% block document_line_item_table_prices %}
                {% if config.displayPrices %}
                    {% block document_line_item_table_row_tax_rate %}
                        <td class="align-right">{% block document_line_item_table_column_tax_rate %}{% for tax in lineItem.price.taxRules %}{{ tax.taxRate }} % {% if loop.last %}{% else %}<br>{% endif %}{% endfor %}{% endblock %}</td>
                    {% endblock %}
                    {% block document_line_item_row_table_unit_price %}
                        <td class="align-right">
                            {% block document_line_item_column_table_unit_price %}
                                {% set unitPrice = lineItem.unitPrice %}
                                {% if config.fileType == constant('Shopware\\Core\\Checkout\\Document\\Service\\HtmlRenderer::FILE_EXTENSION') %}
                                    {% if unitPrice < 0 %}&minus;{% endif %}{{ unitPrice|abs|currency(currencyIsoCode, languageId) }}
                                {% else %}
                                    {{ unitPrice|currency(currencyIsoCode, languageId) }}
                                {% endif %}
                            {% endblock %}
                        </td>
                    {% endblock %}
                    {% block document_line_item_table_row_total_price %}
                        <td class="align-right">
                            {% block document_line_item_table_column_total_price %}
                                {% set totalPrice = lineItem.totalPrice %}
                                {% if config.fileType == constant('Shopware\\Core\\Checkout\\Document\\Service\\HtmlRenderer::FILE_EXTENSION') %}
                                    {% if totalPrice < 0 %}&minus;{% endif %}{{ totalPrice|abs|currency(currencyIsoCode, languageId) }}
                                {% else %}
                                    {{ totalPrice|currency(currencyIsoCode, languageId) }}
                                {% endif %}
                            {% endblock %}
                        </td>
                    {% endblock %}
                {% endif %}
            {% endblock %}
        {% endblock %}
    </tr>
{% elseif hueRenderPhase == 'shipping' and config.displayLineItems %}
    <tr class="line-item" tabindex="0">
        {% if config.displayLineItemPosition %}
            <td>{{ nestedLineItems.count + 1 }}</td>
        {% endif %}
        {% block document_line_item_table_shipping_number %}
            <td></td>
        {% endblock %}
        {% block document_line_item_table_shipping_label %}
            <td class="line-item-breakable">{{ 'document.lineItems.shippingCosts'|trans|sw_sanitize }} - {{ order.deliveries.first.shippingMethod.translated.name }}</td>
        {% endblock %}
        <td class="align-right">1</td>
        {% if config.displayPrices %}
            {% block document_line_item_table_shipping_tax %}
                <td class="align-right">{% for tax in order.deliveries.first.shippingCosts.calculatedTaxes %}{{ tax.taxRate }} % {% if loop.last %}{% else %}<br>{% endif %}{% endfor %}</td>
            {% endblock %}

            {% block document_line_item_table_unit_price %}
                <td class="align-right">{{ order.shippingTotal|currency(currencyIsoCode, languageId) }}</td>
            {% endblock %}

            {% block document_line_item_table_total_price %}
                <td class="align-right">{{ order.shippingTotal|currency(currencyIsoCode, languageId) }}</td>
            {% endblock %}
        {% endif %}
    </tr>
{% endif %}

Englisch


Twig-Template für die Zusammenfassung

Diese Vorlage gehört in das Feld „Twig-Template für die Zusammenfassung der Berechnung unterhalb der Positionen" (Karte „Bestellposition"). Details siehe Zusammenfassung der Berechnung.

Deutsch

Englisch

Hinweis: Für den Lieferschein wird die Zusammenfassung bewusst leer gelassen, da Lieferscheine in der Regel keine Preissummen ausweisen.


Standard-CSS der Positionstabelle

Dieses CSS gehört in das Feld „Styles für die Tabelle der Bestellpositionen" (Karte „Bestellposition") und entspricht dem Shopware-Standardlayout.

Zuletzt aktualisiert