Jump to content

Variable Adresse De Facturation Et Livraison Sur Page Paiement


Recommended Posts

Bonjour,

 

J'ai (essayé de) modifié la page paiement, order-payment.tpl pour offrir la possibilité aux clients d'avoir un résumé de leur commande.

 

Pour l'instant j'ai réussi a placer le total de la commande ainsi qu'un champ de rappel de leur adresse de livraison et facturation.

 

Le problème c'est que il n'y a pas écrit "adresse de facturation et "adresse de livraison".

 

J'ai essayé de modifié en vain ce bout de code aui génère dynamiquement l'adresse de facturation (invoice) et de livraison (delivery).

 

{foreach $formattedAddresses as $address}
  <ul style="width:250px;background-color:#f5f5f5;margin-top:20px" class="address {if $address@last}last_item{elseif $address@first}first_item{/if} {if $address@index % 2}alternate_item{else}item{/if}">

			<li class="address_title">{$address.object.alias}</li>
{foreach $address.ordered as $pattern}
 {assign var=addressKey value=" "|explode:$pattern}
 <li>
 {foreach $addressKey as $key}
  <span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}">
   {if isset($address.formated[$key])}
	{$address.formated[$key]|escape:'htmlall':'UTF-8'}
   {/if}
  </span>
 {/foreach}
 </li>
{/foreach}
</ul>
 {/foreach}

 

 

Ce bout de code génére automatiquement les données des deux adresse, ainsi

 

 

<li class="address_title">{$address.object.alias}</li>

 

génere le nom que l'on a donné à l'adresse de livraison et a l'adresse de facturation.

 

Ce que je voudrais faire c'est insérer une variable juste au dessus qui rajoute "adresse de livraison" et "adresse de facturation", du genre : si "invoice" <p>adresse facturatio</p> et si "delivery" <p>adresse livraison</p>

 

Les variables que j'ai essayé n'ont pas fonctionné.

 

 

Et pour abuser un peu, quel bout de code devrais-je reprendre pour afficher le transporteur choisit sur la page paiement?

 

Merci pour votre aide.

Edited by fxdesca (see edit history)
Link to comment
Share on other sites

  • 1 year later...

Ca date de 3 mois, mais pour ceux que cela intéresse, une solution un peu rustique :

	{foreach $formattedAddresses as $address}
	  {counter name='compteurAdresses' assign='compteurAdresses'}
	   <ul class="address {if $address@last}last_item{elseif $address@first}first_item{/if} {if $address@index % 2}alternate_item{else}item{/if}" style="width:350px;background-color:#ffffff;border:1px solid #999999;margin-left:10px;">
		<li class="address_title">
		   {if $compteurAdresses == 1}
			Adresse de livraison
		   {else}
			Adresse de facturation
		   {/if}
		</li>
                <li class="address_title">{$address.object.alias}</li>
		{foreach $address.ordered as $pattern}
		 {assign var=addressKey value=" "|explode:$pattern}
		 <li>
		 {foreach $addressKey as $key}
		  <span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}">
		   {if isset($address.formated[$key])}
			{$address.formated[$key]|escape:'htmlall':'UTF-8'}
		   {/if}
		  </span>
		 {/foreach}
		 </li>
		{/foreach}
		</ul>
	  {/foreach}
Link to comment
Share on other sites

  • 1 year later...

Très intéressant et très utile merci à vous deux.

 

Cependant comment faire pour afficher les infos de livraison quand il s'agit d'un point relais (avec Mondial Relay) ?

Et pour mettre le nom de la méthode de transport choisie ?

 

Merci beaucoup de ces infos.

Edited by Regaton (see edit history)
Link to comment
Share on other sites

  • 1 month later...

La solution propre pour avoir les adresse de livraison et de facturation sur la page de paiement est d'utiliser le même code que celui du résumé du panier shopping-cart.tpl

 

Sous PS 1.5.4.1 dans order-payment.tpl après :

		{/foreach}
		</tbody>
	{/if}
	</table>
</div>
{/if}

Insérer :

{if ((!empty($delivery_option) AND !isset($virtualCart)) OR $delivery->id OR $invoice->id) AND !$opc}
<div class="order_delivery clearfix">
	{if !isset($formattedAddresses) || (count($formattedAddresses.invoice) == 0 && count($formattedAddresses.delivery) == 0) || (count($formattedAddresses.invoice.formated) == 0 && count($formattedAddresses.delivery.formated) == 0)}
		{if $delivery->id}
		<ul id="delivery_address" class="address item">
			<li class="address_title">{l s='Delivery address'} <span class="address_alias">({$delivery->alias})</span></li>
			{if $delivery->company}<li class="address_company">{$delivery->company|escape:'htmlall':'UTF-8'}</li>{/if}
			<li class="address_name">{$delivery->firstname|escape:'htmlall':'UTF-8'} {$delivery->lastname|escape:'htmlall':'UTF-8'}</li>
			<li class="address_address1">{$delivery->address1|escape:'htmlall':'UTF-8'}</li>
			{if $delivery->address2}<li class="address_address2">{$delivery->address2|escape:'htmlall':'UTF-8'}</li>{/if}
			<li class="address_city">{$delivery->postcode|escape:'htmlall':'UTF-8'} {$delivery->city|escape:'htmlall':'UTF-8'}</li>
			<li class="address_country">{$delivery->country|escape:'htmlall':'UTF-8'} {if $delivery_state}({$delivery_state|escape:'htmlall':'UTF-8'}){/if}</li>
		</ul>
		{/if}
		{if $invoice->id}
		<ul id="invoice_address" class="address alternate_item">
			<li class="address_title">{l s='Invoice address'} <span class="address_alias">({$invoice->alias})</span></li>
			{if $invoice->company}<li class="address_company">{$invoice->company|escape:'htmlall':'UTF-8'}</li>{/if}
			<li class="address_name">{$invoice->firstname|escape:'htmlall':'UTF-8'} {$invoice->lastname|escape:'htmlall':'UTF-8'}</li>
			<li class="address_address1">{$invoice->address1|escape:'htmlall':'UTF-8'}</li>
			{if $invoice->address2}<li class="address_address2">{$invoice->address2|escape:'htmlall':'UTF-8'}</li>{/if}
			<li class="address_city">{$invoice->postcode|escape:'htmlall':'UTF-8'} {$invoice->city|escape:'htmlall':'UTF-8'}</li>
			<li class="address_country">{$invoice->country|escape:'htmlall':'UTF-8'} {if $invoice_state}({$invoice_state|escape:'htmlall':'UTF-8'}){/if}</li>
		</ul>
		{/if}
	{else}
		{foreach from=$formattedAddresses key=k item=address}
			<ul class="address {if $address@last}last_item{elseif $address@first}first_item{/if} {if $address@index % 2}alternate_item{else}item{/if}">
				<li class="address_title">{if $k eq 'invoice'}{l s='Invoice address'}{elseif $k eq 'delivery' && $delivery->id}{l s='Delivery address'}{/if}{if isset($address.object.alias)} <span class="address_alias">({$address.object.alias})</span>{/if}</li>
				{foreach $address.ordered as $pattern}
					{assign var=addressKey value=" "|explode:$pattern}
					<li>
					{foreach $addressKey as $key}
						<span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}">
							{if isset($address.formated[$key])}
								{$address.formated[$key]|escape:'htmlall':'UTF-8'}
							{/if}
						</span>
					{/foreach}
					</li>
				{/foreach}
				</ul>
		{/foreach}
		<br class="clear"/>
	{/if}
</div>
{/if}
<br />

:)

Edited by KevinNash (see edit history)
Link to comment
Share on other sites

  • 10 months later...

Merci Kevin et Gus ces explications.

De mon coté, je souhaite modifier les expressions "Choisissez une adresse de livraison" et "votre adresse de livraison", puisque je livre en point relais et l'adresse de mon client n'est pas une adresse de livraison, mais une référence qui permet à Mondial Relay de proposer des magasins susceptibles de prendre en charge le colis.

Je ne vois nulle part une expression en anglais ou en français dans les fichiers .css que je pourrais modifier. Je voudrais simplement avoir "Votre adresse".

Avez-vous une idée ?

 

 

Merci beaucoup.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...