[Skip to main content](#vessel-content)

#   Intégration - code php lié au bouton

##

- **[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")**
- [![david&#95;filip@hotmail.com's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile") Topic Author
- [ Offline](/forum/user/38962-david-filip-hotmail-com)

Less More

- Posts: 23
- Thank you received: 0
-
-

10 years 1 month ago [\#251157](#251157) by [david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")  *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251157 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")* was created by *[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")*

Bonjour,

Je viens de mettre à jour ma version Hikashop d'Essential à Business.

Je souhaiterais au moment du click sur le bouton "Ajouter au Panier" ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.

Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?

En vous remerciant pour votre aide,
David Filip

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Offline](/forum/user/63-nicolas)

Less More

- Posts: 86358
- Thank you received: 14293
-
-

10 years 1 month ago [\#251162](#251162) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251162 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Bonjour,

Idéalement, il faudrait faire un petit plugin implémentant le trigger onAfterCartUpdate d'HikaShop:
[ www.hikashop.com/support/documentation/6...ml#onAfterCartUpdate](https://www.hikashop.com/support/documentation/62-hikashop-developer-documentation.html#onAfterCartUpdate)

Faire un plugin n'est pas très compliqué si vous êtes un développeur:
[ www.hikashop.com/support/documentation/6...mentation.html#howto](https://www.hikashop.com/support/documentation/62-hikashop-developer-documentation.html#howto)

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")**
- [![david&#95;filip@hotmail.com's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile") Topic Author
- [ Offline](/forum/user/38962-david-filip-hotmail-com)

Less More

- Posts: 23
- Thank you received: 0
-
-

10 years 1 month ago [\#251380](#251380) by [david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")  Replied by *[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251380 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Merci Nicola pour votre réponse.

Effectivement, vous avez vraiment apporté un soin particulier à votre développement et à la structure globale du produit. Bon boulot!
J'ai mis en oeuvre un plugin et cela fonctionne parfaitement. Je suis occupé à voir avec Cyril d'iCagenda un mariage possible entre vos deux produits.

J'ai à peu près tout ce qu'il me faut dans HK pour gérer les événements sans perdre pour autant la possibilité de réaliser des upsells. Il y a un exemple donné sur votre site pour l'inscription à un événement mais cela ne permet plus l'ajout d'autres produits dans le panier.

Pourrais-tu m'expliquer comment faire ou quoi développer assez simplement en php pour une fois arrivé au processus de validation de commande, je puisse identifier les événements dans le panier (j'ai ajouté un champ personnalise booléen isEvent au produit) et introduire dans la chaîne entre par exemple Panier et Adresse Livraison/Facturation une étape où on pourrait inscrire les noms des personnes présentes à l'événement fonction de la valeur Qty du "produit-événement"?
A défaut, serait-ce possible avec HikaSerial : un ticket assigné à un nom que l'on introduit et ce sans perdre la possibilité d'ajouter d'autres produits dans le panier ?

Merci pour vos éclairages,
David

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Offline](/forum/user/63-nicolas)

Less More

- Posts: 86358
- Thank you received: 14293
-
-

10 years 1 month ago [\#251383](#251383) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251383 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Bonjour,

Pour ajouter des étapes dans le système de passage en caisse, l'idéal c'est d'utiliser les triggers de l'API checkout:
[ www.hikashop.com/support/documentation/6...tation.html#checkout](https://www.hikashop.com/support/documentation/62-hikashop-developer-documentation.html#checkout)
comme cela, il suffit ensuite d'ajouter la vue dans le "checkout workflow" de la configuration pour que le plugin soit appeler pour l'affichage dans le passage en caisse.
Pour récupérer le contenu du panier, cela se fait facilement avec la fonction loadFullCart comme expliqué dans la documentation développeur:
[ www.hikashop.com/support/documentation/6...umentation.html#code](https://www.hikashop.com/support/documentation/62-hikashop-developer-documentation.html#code)
Donc cela laisse toutes les libertés possibles. Et pour stocker les informations dans la commande, cela peut se faire par exemple avec un champs personnalisé de la table "commande" ou "article".

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")**
- [![david&#95;filip@hotmail.com's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile") Topic Author
- [ Offline](/forum/user/38962-david-filip-hotmail-com)

Less More

- Posts: 23
- Thank you received: 0
-
-

10 years 1 month ago [\#251413](#251413) by [david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")  Replied by *[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251413 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Merci pour ta réponse Nicolas.

J'ai bien intégré la nouvelle étape dans le passage en caisse et cela fonctionne parfaitement.
L'étape en question m'affiche HIKASHOP_CHECKOUT_PLG.SHOP.VIEWNAME dans l'onglet.
Je ne vois pas très bien ce que je dois faire ici :
- dois-je créer un plugin supplémentaire pour la vue en question ?
- le nom affiché dans l'onglet n'est pas celui que j'ai assigné dans le tableau : $list = 'Infos des participants';

Pourrais-tu m'aiguiller sur la manière de construire cette vue ?

En te remerciant,
David

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[Mohamed Thelji](/forum/user/6861-mohamed-thelji "View Mohamed Thelji's Profile")**
- [![Mohamed Thelji's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar6861.png)](/forum/user/6861-mohamed-thelji "View Mohamed Thelji's Profile")
- [ Offline](/forum/user/6861-mohamed-thelji)

Less More

- Posts: 12953
- Thank you received: 1778
-
-
-

10 years 1 month ago [\#251422](#251422) by [Mohamed Thelji](/forum/user/6861-mohamed-thelji "View Mohamed Thelji's Profile")  Replied by *[Mohamed Thelji](/forum/user/6861-mohamed-thelji "View Mohamed Thelji's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251422 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Bonjour David,

Pour créer la vue en question, il suffira simplement d'ajouter un fichier PHP à ton plugin ayant comme nom : NomDeTonPlugin_view.php

Voici un example pouvant surement t'aider : Code:

/** * Création de l'étape propre au plugin */ public function onCheckoutStepList(&amp;$list) { //add step on checkout workflow $list['plg.shop.mynewstep'] = JText::_("PARTICIPANT_INFO'); } /** * Affichage de la vue NomDeTonPlugin_view.php lors de l'appel de l'étape 'plg.shop.mynewstep' */ function onCheckoutStepDisplay($layoutName, &amp;$html, &amp;$view, $pos, $options) { if($layoutName != 'plg.shop.mynewstep') return; // appel NomDeTonPlugin_view.php ob_start(); $this-&gt;showPage('view'); $html = ob_get_clean(); }

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")**
- [![david&#95;filip@hotmail.com's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile") Topic Author
- [ Offline](/forum/user/38962-david-filip-hotmail-com)

Less More

- Posts: 23
- Thank you received: 0
-
-

10 years 1 month ago -  10 years 1 month ago [\#251496](#251496) by [david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")  Replied by *[david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251496 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Mohamed, je te remercie pour ta réponse.

1) Au travers de mon plugin, j'arrive à correctement utiliser la méthode onCheckoutStepDisplay.
Par contre, je n'arrive pas à faire en sorte d'avoir le nom exact dans le nouvel onglet du workflow (voir fichier attaché).
Je pense que quelque chose m'échappe dans l'ajout du nom dans le tableau $list : Code:

$list['plg.shop.mynewstep'] = JText::_("PARTICIPANT_INFO');

Précédemment, j'avais créé une vue php dans le répertoire Checkout en récupérant le fichier fiels.php que j'ai renommé en fields_df.php
Ensuite, j'ai introduit dans la liste : Code:

$list['plg.shop.fields_df'] = 'Liste des participants';

Dans la partie Configuration-&gt;Passage en caisse : Je retrouve bien l'étape "Liste des participants".
Dans la partie site, la méthode onCheckoutStepDisplay fonctionne correctement (voir le listage de quelques propriétés produit dans jpg) mais pour le nom dans l'onglet de l'étape, je sèche... A quel moment, fait-on la connexion entre la vue (php) et la liste ?
Et c'est là que j'ai besoin de ton aide ![:)](/media/kunena/emoticons/3.png ":)")
Peux-tu me dire où je me trompe ?

2) J'aimerais également sur base d'une variable pouvoir rendre visible ou invisible cette nouvelle étape. J'ai essayé dans la méthode onCheckoutStepList de vider l'array par un unset mais rien n'y fait. J'imagine qu'il faut agir sur le view step.php mais je ne vois pas trop où je pourrais placer ma condition (probablement en plusieurs endroits). Peux-tu m'éclairer ?

Merci à toi,
David

[ ![Safaridns-concea010.png](/forum/attachment/33772) ](/forum/attachment/33772 "...-concea010.png")

- [ ![Safaridns-concea010.png](/forum/attachment/33772) ](/forum/attachment/33772 "...-concea010.png") [ ](/forum/attachment/33772?download=1 "...-concea010.png")

Last edit: 10 years 1 month ago by [david\_filip@hotmail.com](/forum/user/38962-david-filip-hotmail-com "View david&#95;filip@hotmail.com's Profile").

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Offline](/forum/user/63-nicolas)

Less More

- Posts: 86358
- Thank you received: 14293
-
-

10 years 1 month ago [\#251521](#251521) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Intégration - code php lié au bouton](/forum/31-development/886672-integration-code-php-lie-au-bouton#251521 "Bonjour,  Je viens de mettre à jour ma version Hikashop d'Essential à Business.  Je souhaiterais au moment du click sur le bouton &quot;Ajouter au Panier&quot; ajouter du code PHP supplémentaire afin de mettre à jour une table (autre qu'Hikashop) dans la base de donnée.  Pouvez-vous m'aiguiller vers le fichier et la partie de code à adapter afin de réaliser cette opération ?  En vous remerciant pour votre aide, David Filip")*

Bonjour,

1. Le nom de l'étape est généré automatiquement. Donc il suffit d'ajouter un override de traduction:
HIKASHOP_CHECKOUT_PLG.SHOP.VIEWNAME="Nom de mon étape"
via l'onglet Langues de la configuration HikaShop.
C'est converti dans le fichier "step" de la view "checkout": Code:

if($k == $this-&gt;step &#124;&#124; empty($link)) { echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name)); } else { ?&gt; &lt;a href="&lt;?php echo hikashop_completeLink('checkout&amp;task=step&amp;step='.$k.$url_itemid);?&gt;"&gt; &lt;?php echo JText::_('HIKASHOP_CHECKOUT_'.strtoupper($step_name));?&gt; &lt;/a&gt; &lt;?php }

2. Il n'est pas possible de supprimer une étape dynamiquement. Par contre, il est possible de la faire passer automatiquement.
Pour cela, dans onBeforeCheckoutStep vous pouvez faire votre vérification et soit rediriger vers l'étape d'après avec un $app-&gt;redirect() avec le paramètre step incrémenté dans l'URL, soit en ajoutant à la vue un peu de JS pour auto submit l'étape au chargement de la page plutôt que d'afficher le contenu de votre vue.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2RldmVsb3BtZW50Lzg4NjY3Mi1pbnRlZ3JhdGlvbi1jb2RlLXBocC1saWUtYXUtYm91dG9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

Board Categories HikaShop Install &amp; Update Product &amp; Category Display Content Creation Sales and Orders Orders management Reports &amp; Statistics Customers Checkout Payment Methods Shipping Methods Import &amp; Export (CSV, XLS…) Specific Features Affilation Taxes Wishlist Vote Carousel &amp; Slider Mass Actions Filters &amp; Search Discount &amp; Coupon Feature Request Integrations Showcase General Talk about HikaShop Development HikaShop 3.0 Beta Translation Commercial Jobs HikaShop Components HikaMarket Market: Feature requests Market: How to? Market: Bug Report HikaSerial General talk about HikaSerial Serial: Bug Report Serial: How to? Support en Français de HikaSerial (French Support) HikaSubscription HikaAuction Auction: Feature requests Auction: How to? Auction: Bug report Hikashop around the world Support en Français (French Support) Russian FAQ. Курс выживания с Hikashop. Частые вопросы и о Расширения Hikashop Наши сайты на Hikashop 日本語版サポート(Japanese Support) Thai German Archives Bug Report How to?

[](/forum/topics/feed/mode-topics?format=feed&type=rss)

Time to create page: 0.070 seconds

[Powered by](/forum/credits) [Kunena Forum](https://www.kunena.org)
