Jump to content

Ajouter champ "other" dans processus de commande


Recommended Posts

Bonjour,

 

j'aimerais afficher le champ "other" repris dans les adresses enregistrées par le client, dans le processus de commande, sous les adresses de livraison et facturation, au dessus du champs texte premettant de laisser un message au moment de la commande.

J'aimerais qu'il y apparaisse et que le client puisse le modifier au besoin, et également qu'il aparaisse dans le mail de commande reçu en admin.

 

Pour info, j'ai réussi à récupérer ma valeur enregistrée pour l'afficher, mais j'aimerais qu'en cliquant sur le bouton "save" sur l'image, on puisse mettre à jour ce fameux champ "other" dans la BD.

Je n'arrive pas à trouver par quel moyen le faie agir comme tel.

 

 

Voici le code utilisé actuellement, j'ai simplement repris ce qui est utilisé dans "adress.tpl" :

 

<form action="{$link->getPageLink('order.php?step=1', true)}" method="post" class="std">  
 <p class="required text">
  <label for="other">{l s='Additional information'}</label>
  <input type="text" id="other" name="other"value="{if isset($delivery->other)}{$delivery->other}{else}{if isset($delivery->other)}{$delivery->other|escape:'htmlall':'UTF-8'}{/if}{/if}" />
 <sup>*</sup>
 </p>

 <p class="submit2">
 <input type="hidden" name="id_address" value="{$id_address|intval}" />
 <input type="hidden" name="back" value="{$back}?step=1" />
 <input type="hidden" name="mod" value="{$mod}" />
 <input type="hidden" name="select_address" value="{$select_address|intval}" />
 <input type="submit" name="submitAddress" id="submitAddress" value="{l s='Save'}" class="button" />
</p>
<p class="required"><sup>*</sup>{l s='Required field'}</p>
</form>

 

En fait, je ne trouve pas comment faire l'update dans la BD.

Merci pour votre aide!

 

post-198559-0-09564100-1366707605_thumb.jpg

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

  • 2 months later...

Bonsoir,

 

Soit votre topic n'a pas un titre qui convient soit votre demande n'est pas claire, modifiez-le et des solutions sont déjà sur le forum.

 

une piste : http://blog.manit4c.com/2012/11/20/ajouter-des-champs-personnalises-aux-adresses-sous-prestashop/

 

il vous faudra donc modifier le template de votre thème pour rendre ce champ affichable et éditable

 

j'ai beaucoup de mal à comprendre l'intérêt de ce développement peu commun c'est aussi pourquoi vous n'avez pas de réponse, je vous invite à rechercher des postes qui se rapprocherai d'un tel développement pour construire le votre.

 

Si besoin plutôt que de détourner un champ prestashop, il est préférable de créer le votre avec un override.

 

exemple pour un champ email pour l'adresse de livraison et facturation distinct du compte client :

 

1) Override de la classe address.php

 

<?php class Address extends AddressCore
{
 public $address_email;//on declare notre nouveau champs

 public  function __construct($id_address = NULL, $id_lang = NULL) {
	 $this->fieldsValidate['address_email']='isGenericName';//on precise le type de champ
	 parent::__construct($id_address);
 }

 public function getFields()
 {
	 $fields=parent::getFields();
	 $fields['address_email'] = pSQL($this->address_email);//on ajoute le champ pour la validation et l'enregistrement
	 return $fields;
 }

}

 

Puis modification du tpl de votre theme address.tpl pour permette de l'éditer.

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...