Lieferschein mit Lieferadresse

Hallo zusammen,

mir ist gerade bei einer Bestellung mit abweichender Lieferadresse aufgefallen, dass auf dem Lieferschein dennoch die Rechnungsadresse angezeigt wird.
@Framework/documents/delivery_note.html.twig überschreibt den block „document_recipient“ nicht und in der base.html.twig ist dort die billingAddress eingesetzt.
Bei Shopware 5 verhält sich das anders - ich denke das sollte in 6 auch so sein?!

Mit folgendem bin ich nun auch soweit gut voran gekommen:

{% block document_recipient %}
    {% set firstDelivery = order.deliveries|first %}
    {% set deliveryAddress = firstDelivery.shippingOrderAddress %}
    
        {% block document_recipient_sender %}
            {{ config.companyAddress }}
        {% endblock %}
    
    {% if deliveryAddress.company %}
        {{ deliveryAddress.company }}
    {% endif %}
    {{ deliveryAddress.firstName }} {{ deliveryAddress.lastName }}
    {{ deliveryAddress.street }}
    {{ deliveryAddress.zipcode }} {{ deliveryAddress.city }}
    {{ deliveryAddress.country.name }}
{% endblock %}

Jedoch bleibt das Land leer… In der OrderAddressEntity ist zwar ein „country“ vorgesehen - bleibt aber an der Stelle null.
Habe ich da was übersehen? Wäre dankbar für einen Tipp, damit ich das ganze als PR bei github einbringen kann…

Vielen Dank im Voraus für die Hilfe!

Gruß,
Sebastian

Lass dir doch mal per dump() alles ausgeben, vielleicht ist das nur anders verschachtelt

@Moritz Naczenski schrieb:

Lass dir doch mal per dump() alles ausgeben, vielleicht ist das nur anders verschachtelt

Hallo Moritz!
Vielen Dank für den Tipp… 

Ich hab mich da schon komplett durchgedumpt und durch die jeweiligen Klassen gehangelt…
so bin ich ja auf order.deliveries.shippingOrderAddress gestoßen…
Und wie gesagt - es gibt in der OrderAddressEntity eigentlich die Eigenschaft „country“ jedoch ist diese im Dump null,
statt dem eigentlich zu erwartenden Länderobjekt mit der hier gebrauchten Eigenschaft „name“.
Bei der BillingAdress (ausgelesen via order.addresses.get(order.billingAddressId)) ist country gefüllt.
leider hat das order Objekt keine „shippingAdressId“ oder der gleichen…

Gruß,
Sebastian

Hallo Moritz,

danke nochmal für den Denkanstoß - nach etwas Schlaf kam ich auf die Idee,
die ShippingOrderAddressId aus der firstDelivery auszulesen :wink:

Die funktionierende Lösung sieht also wie folgt aus:

{% block document_recipient %}
    {% set firstDelivery = order.deliveries|first %}
    {% set deliveryAddressId = firstDelivery.shippingOrderAddressId %}
    {% set deliveryAddress = order.addresses.get(deliveryAddressId) %}
    
        {% block document_recipient_sender %}
            {{ config.companyAddress }}
        {% endblock %}
    
    {% if deliveryAddress.company %}
        {{ deliveryAddress.company }}
    {% endif %}
    {{ deliveryAddress.firstName }} {{ deliveryAddress.lastName }}
    {{ deliveryAddress.street }}
    {{ deliveryAddress.zipcode }} {{ deliveryAddress.city }}
    {{ deliveryAddress.country.name }}
{% endblock %}

Gruß,
Sebastian