Abweichende Lieferadresse auf pdf-Rechnung

Hallo zusammen, 

der von Shopware bereitgestellte Quellcode für die tpl Files funktioniert einwandfrei (Shopware 5.2.10).
Wenn ihr ein eigenes Theme verwendet, stellt bitte als erstes sicher, dass ihr die Dokumente auch aus dem Documents-Ordner eures Themes ladet. Das stellt ihr über das Backend (Einstellungen/Grundeinstellungen/Shop-Einstellungen/Shops/Dokumenten-Template) ein. Hier muss euer Theme hinterlegt sein. 

A ls nächstes kopiert ihr die original tpl Files von Shopware in euren Theme-Ordner:   /themes/frontend/EUERTHEME/documents/…
Jetzt sucht ihr diese Stelle: 

{block name="document_index_selectAdress"}
 {assign var="address" value="billing"}
{/block}

Wenn ihr gerne beides nebeneinander angezeigt bekommen möchtet, ersetzt ihr diesen Block zum Beispiel mit:

	{block name="document_index_selectAdress"}
					{assign var="shippingaddress" value="shipping"}
					{assign var="billingaddress" value="billing"}
					{/block}
						{if $User.$shippingaddress.street != $User.$billingaddress.street || $User.$shippingaddress.streetnumber != $User.$billingaddress.streetnumber || $User.$shippingaddress.zipcode != $User.$billingaddress.zipcode}
				
 				{s name="difShippingAdress"}Lieferadresse:{/s}
					{$User.$shippingaddress.company}
					{$User.$shippingaddress.firstname} {$User.$shippingaddress.lastname}         
					{$User.$shippingaddress.street} {$User.$shippingaddress.streetnumber}
					{$User.$shippingaddress.zipcode} {$User.$shippingaddress.city}
				{if $User.$shippingaddress.state.shortcode}{$User.$shippingaddress.state.shortcode} - {/if}{$User.$shippingaddress.country.countryen}
				
				{/if}

WICHTIG: Beim testen dürft ihr nicht nur den Unternehmensnamen abändern und Straße oder Hausnummer identisch lassen. Die IF-Abfrage prüft nur ob es Abweichungen von Straße / Hausnummer und/oder PLZ gibt. Trifft eines zu, wird die komplette neue Lieferadresse dargestellt. Wenn man natürlich nur den Unternehmensnamen ändert, zeigt er logischerweise nichtmehr an. Ihr könntet die IF Abfrage jedoch auch um den Unternehmensnamen ergänzen.

 

Für alle denen das autauschen nicht so geheuer ist, hier mein voll funktionsfähiger Head-Bereich (Head_sender) der index.tpl, zum Vergleichen oder kopieren:

				{$Containers.Header_Sender.value}
			
				
				
				
				
				{$User.$address.company}
				{$User.$address.salutation|salutation}
				{if {config name="displayprofiletitle"}}
					{$User.$address.title}
				{/if}
				{$User.$address.firstname} {$User.$address.lastname}
				{$User.$address.street}
				{block name="document_index_address_additionalAddressLines"}
					{if {config name=showAdditionAddressLine1}}
						{$User.$address.additional_address_line1}
					{/if}
					{if {config name=showAdditionAddressLine2}}
						{$User.$address.additional_address_line2}
					{/if}
				{/block}
				{block name="document_index_address_cityZip"}
                    {if {config name=showZipBeforeCity}}
                        {$User.$address.zipcode} {$User.$address.city}
                    {else}
                        {$User.$address.city} {$User.$address.zipcode}
                    {/if}
				{/block}
				{block name="document_index_address_countryData"}
				    {if $User.$address.state.shortcode}{$User.$address.state.shortcode} - {/if}{$User.$address.country.countryen}
				{/block}
				
				
					{block name="document_index_selectAdress"}
					{assign var="shippingaddress" value="shipping"}
					{assign var="billingaddress" value="billing"}
					{/block}
						{if $User.$shippingaddress.street != $User.$billingaddress.street || $User.$shippingaddress.streetnumber != $User.$billingaddress.streetnumber || $User.$shippingaddress.zipcode != $User.$billingaddress.zipcode}
				
 				{s name="difShippingAdress"}Lieferadresse:{/s}
					{$User.$shippingaddress.company}
					{$User.$shippingaddress.firstname} {$User.$shippingaddress.lastname}         
					{$User.$shippingaddress.street} {$User.$shippingaddress.streetnumber}
					{$User.$shippingaddress.zipcode} {$User.$shippingaddress.city}
				{if $User.$shippingaddress.state.shortcode}{$User.$shippingaddress.state.shortcode} - {/if}{$User.$shippingaddress.country.countryen}
				
				{/if}				
			
			
			
			
			
			
		{/if}

 

UPDATE:

Für alle die ihre Abfrage ganz genau haben möchten und die abweichende Lieferadresse auch schon bei einem abweichenden Namen auf der Rechnung ausgeben möchten. Hier habe ich euch die komplette IF-Abfrage um die Elemente „Firmenname / Abteilung / Vorname / Nachname“ erweitert. Wenn eines dieser Elemente von der Rechnungsadresse abweicht wird die abweichende Adresse mit auf der Rechnung ausgegeben:

{block name="document_index_selectAdress"}
					{assign var="shippingaddress" value="shipping"}
					{assign var="billingaddress" value="billing"}
					{/block}
						{if $User.$shippingaddress.street != $User.$billingaddress.street || $User.$shippingaddress.streetnumber != $User.$billingaddress.streetnumber || $User.$shippingaddress.zipcode != $User.$billingaddress.zipcode || $User.$shippingaddress.company != $User.$billingaddress.company || $User.$shippingaddress.department != $User.$billingaddress.department || $User.$shippingaddress.firstname != $User.$billingaddress.firstname || $User.$shippingaddress.lastname != $User.$billingaddress.lastname}
				
 				{s name="difShippingAdress"}Lieferadresse:{/s}
					{$User.$shippingaddress.company}
					{$User.$shippingaddress.firstname} {$User.$shippingaddress.lastname}         
					{$User.$shippingaddress.street} {$User.$shippingaddress.streetnumber}
					{$User.$shippingaddress.zipcode} {$User.$shippingaddress.city}
				{if $User.$shippingaddress.state.shortcode}{$User.$shippingaddress.state.shortcode} - {/if}{$User.$shippingaddress.country.countryen}
				
				{/if}				

 

LG ELL!

PS: Das ganze ist auch updatesicher! 

1 „Gefällt mir“