Un champ spécifique par étape de passage en caisse

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #74851

Bonjour,

J'ai créé 2 champs personnalisés de type "commande".

J'ajoute un champ dans une étape du passage en caisse et mes deux champs personnalisés apparaissent dedans.

J'ajoute un second champ dans mes étapes de passage en caisse et c'est le même dans mes deux étape.

J'aimerais savoir s'il existe une façon de placer un champ personnalisé de type "commande" dans une étape spécifique du passage en caisse et un autre champ personnalisé, lui aussi de type "commande" mais dans une autre étape du passage en caisse?

Deux champs, deux étapes.

Merci :)

Steve Gosselin
Château Fort Médias

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #74980

Bonjour,

Il faut modifier la vue "checkout / custom_fields" dans HikaShop > Display > Views et ajouter une condition sur $this->step et $fieldName dans le foreach, par exemple:

if($this->step == 0 && $fieldName == 'maField1'){
    //dislay the first custom field
}else if($this->step == 1 && $fieldName == 'maField2'){
    //dislay the second custom field
}

The following user(s) said Thank You: steeeve

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #75093

Merci pour le service incroyable que vous donnez!
Ça fonctionne à merveille

:)

Steve Gosselin
Château Fort Médias

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #76802

Bonjour,
Une dernière question dans le même ordre d'idée.
Existe-t-il une manière de personnaliser le titre «champs» dans la barre de progression de passage en caisse?

Voir l'image en pièce jointe.

Steve

Attachments:
Last edit: 11 years 5 months ago by steeeve.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #76905

Bonjour,

Pour personnaliser le nom des étapes, vous pouvez éditer la vue "checkout / step" et ajoutez le code suivant:

if($this->step == 0) $step_name = 'custom_value_1';
if($this->step == 1) $step_name = 'custom_value_2';
if($this->step == 2) $step_name = 'custom_value_3';
Après:
$step_name = reset($step);

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #77140

J'ai essayé quelque chose d'inspirer de ton conseil et le tout fonctionne.
J'ai enlevé le reset();, je ne comprenais pas pourquoi il était là. J'ai incrémenté mes valeurs de boucle en fonction du $k pour les appeler dans l'entête.

Je n'ai pas réussis à faire fonctionner ton truc...


foreach($this->steps as $k => $step){

$step=explode('_',trim($step));
if($k == 0) $step_name[$k] = 'Philosophie';
if($k == 1) $step_name[$k] = 'Entreprise';
if($k == 2) $step_name[$k] = 'Condition';
if($k == 3) $step_name[$k] = 'Inscription';
if($k == 4) $step_name[$k] = 'Paiement';

//$step_name = reset($step);

et un peu plus bas...
<?php if($k==$this->step || empty($link)){ ?>

<?php echo JText::_($step_name[$k]);?>

<?php }else{ ?>

<a href="<?php echo hikashop_completeLink('checkout&task=step&step='.$k.$url_itemid);?>">


<?php echo JText::_($step_name[$k]);?>

</a>

<?php } ?>

The following user(s) said Thank You: Jerome

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #78877

Re-bonjour!
Dans le fil du même projet, nous avons rencontré un problème quant à la récupération des valeurs dans les champs personnalisés. Lorsque nous recevons un courriel de notification concernant une vente, nous récupérons seulement les champs personnalisés de l'étape #4.

$step=explode('_',trim($step));
if($k == 0) $step_name[$k] = 'Inscription';
if($k == 1) $step_name[$k] = 'Contrat';
if($k == 2) $step_name[$k] = 'Entreprise';
if($k == 3) $step_name[$k] = 'Clientèle & Photos';
if($k == 4) $step_name[$k] = 'Produits & Services';
if($k == 5) $step_name[$k] = 'Terminer';

Auriez-vous une idée de piste de solution?

Merci d'avance.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #78927

Bonjour,

Une solution à ce problème pourrait être de stocker les données en session de la première étape où sont affichés les champs personnalisés, puis les récupérer à l'étape 4 pour les ajouter de manière cachées.

Je pense que ceci devrait permettre de récupérer toutes les valeurs de ces champs.

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #78990

Je connais bien les superGlobales mais, pourrais-tu me donner un peu plus d'indications s.v.p. quant aux fichiers à modifier?

Last edit: 11 years 5 months ago by steeeve.

Please Log in or Create an account to join the conversation.

  • Posts: 26008
  • Thank you received: 4004
  • MODERATOR
11 years 5 months ago #79061

Bonjour,

Je pense que la solution serait trop complexe à mettre en place.
Il faut alors surcharger toute la gestion des custom fields et même si cela est faisable et que nous l'ayons déjà fait, il n'en reste pas moins d'un niveau assez complexe.
Le mieux serait à mon avis de toujours afficher les custom fields dans la page web mais de placer les custom fields qu'on ne soit pas voir dans un div avec un "display:none".

Ainsi, la gestion des custom fields sera toujours la même, toutes les données seront toujours passées dans le POST et stockées dans la session.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 41
  • Thank you received: 1
  • Hikashop Business
11 years 5 months ago #79083

Nous avons mis tous les champs dans la même page en attendant.
Je vais retravailler le dossier dans les semaines à suivre et je posterai éventuellement la solution.
Merci.

Please Log in or Create an account to join the conversation.

Time to create page: 0.077 seconds
Powered by Kunena Forum