Jump to content

Création module - Données formulaire


Recommended Posts

Bonjour,

Je suis en train d'essayer de créer un module.
J'ai donc suivi les différents tutoriels que j'ai pu trouver sur le net...

Mais malheuresement, je n'ai pas pu trouver mon bonheur !

Je souhaiterais faire en sorte que quand j'appui sur un bouton (depuis le cadre affiché sur le frontOffice) je puisse récupérer l'action et ensuite la traiter (via la BDD).

Auriez-vous un tutoriel qui illustrerait ceci en détail ?

J'aurait également une autre requête...
Comment puis-je faire pour ajouter un bouton "Réserver" au lieu de "Ajouter au panier" (interdire donc toute commande, seules les réservations m'intéressent) ?

Et faire en sorte que lorsque l'utilisateur clique sur ce bouton "Réserver", je puisse traiter l'information (insertion d'une ligne dans ma BDD) ?

Merci à vous :)

Link to comment
Share on other sites

Bjr,
Si tu as suivi les tutos , tu as donc vu que tu pouvais souscrire à un hook .
Tu peux aisément récupérer une ou plusieurs données dans ce même hook , avant affichage par exemple (dans ce cas tu peux parfaitement afficher un bouton "Annuler ma résa" , une fois le produit réservé.


supposons que tu aies ton code dans hookExtraRight (fiche produit) , et que ton bouton est un submit et s'appelle 'Reserver' et que ce bouton soit associé à un id produit .
Pour ça tu as deux outils pratiques à ta disposition : Tools::getValue et Tools::isSubmit

ça donne un truc dans le genre :

function hookLeftColumn{
/* on traite les données formulaire si elles existent */
 if (Tools::isSubmit('Reserver')){
   $idproduct = Tools::getValue('id_product'); // toujours accessible sur les fiches produit
      /* maintenant j'ai l'id produit , je fais le reste du traitement */
     .....
 }

Link to comment
Share on other sites

Oh ok super merci...

J'avais du mal comprendre le fonctionnement des hook (qui n'était pas expliqué dans les différents tuto ^^ )

Moi j'ai compris qu'un hook c'était un emplacement ou l'on pouvais mettre l'application.

Finalement ce hook sert pour le traitement des informations en fonction d'ou il est placé dans le site ?

Une dernière petite question: comment remplacer "Réserver" par "Ajouter au panier" dans les produits ?
(Je ne trouve pas le module des produits :o)

Merci :)

Link to comment
Share on other sites

Oh ok super merci...

J'avais du mal comprendre le fonctionnement des hook (qui n'était pas expliqué dans les différents tuto ^^ )

Moi j'ai compris qu'un hook c'était un emplacement ou l'on pouvais mettre l'application.

Finalement ce hook sert pour le traitement des informations en fonction d'ou il est placé dans le site ?

Une dernière petite question: comment remplacer "Réserver" par "Ajouter au panier" dans les produits ?
(Je ne trouve pas le module des produits :o)

Merci :)


Pour faire simple , un hook est un détour du moteur de prestashop , qui se charge d'executer les fonctions correspondantes des modules .
Les points d'appel sont placés à divers endroits dans le moteur et permettent d'intervenir via donc le module.
Chaque hook lors de son appel fait l'objet d'un préchargement d'un tableau de variables/objets $params transmis au hook appelé.
Le meilleur moyen en cas de doute sur ce que reçoit ce hook est de faire un
die(var_dump($params))

, au tout début de ta fonction.

Pour la question au sujet du bouton , c'est encore un autre sujet ...

Mais à la base ne cherches pas de module produit , il n'y en a pas.

Les données de la page produit sont traitée , en 1.3.x , via product.php à la racine de presta.

En 1.4 , c'est un controlleur que tu trouveras dans le dossier /controllers

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