Jump to content

Lien d action module backoffice


Recommended Posts

Bonjour,

Je débute dans l'intégration prestashop, et tente de développer un premier petit module assez simple. Je bute sur un truc pourtant tout bête. Sur la page de configuration de mon module (backoffice) je voudrai avoir un lien pour appeler une action, cette action est l'appel d'une méthode de ma classe.

Concrètement un lien "cliquez ici pour remplir la table" appellerait la fonction remplir_table déclarée dans mon objet... Je ne trouve pas d'exemple simple pour réaliser cela, il faut passer par la création d'un controller ? Y a t il un tuto quelque part ?

Merci bien

triton

Link to comment
Share on other sites

coucou

 

alors

dans la fonction getContent() tu apelles

 if (Tools::isSubmit('fillTable')
    $this->nom_de_ta_fonction;

$this->html ='
     <form method="post" action="'.htmlentities($_SERVER['REQUEST_URI']).'"> 
            <input type="submit" name="filltable" value="'.$this->l('fill the Table').'" class="button btn btn-default"/>
     </form>';
return $this->html;

donc tu as un un petit formualire avec un botton (la class du boutton est pour une 1.6)

et le Tools::isSubmit  effectue ta fonction quand tu clique sur le boutton

si tu as fait un postProcess() et un displayForm() tu les appelles dans le  getContent()

avec

$this->postProcess();
$this->displayForm();

et tu met dans le postProcess()

if (Tools::isSubmit('fillTable')
    $this->nom_de_ta_fonction;
 

et dans le displayForm()

$this->html ='
     <form method="post" action="'.htmlentities($_SERVER['REQUEST_URI']).'"> 
            <input type="submit" name="filltable" value="'.$this->l('fill the Table').'" class="button btn btn-default"/>
     </form>';
return $this->html; 

voir La méthode getContent() dans la doc http://doc.prestashop.com/pages/viewpage.action?pageId=15171738

 

@++

 

loulou66

Link to comment
Share on other sites

if (Tools::isSubmit('fillTable')
    $this->nom_de_ta_fonction;
 

 

Juste une petite correction :

 

En prenant compte du name de ta balise input submit :

if (Tools::isSubmit('filltable')
    $this->nom_de_ta_fonction;

Juste une histoire de majuscule :P

Link to comment
Share on other sites

Bonjour,

Merci beaucoup, ça marche ! C'était quand même bien bête d avoir un super module qui fait des trucs incroyables et de ne pas avoir un misérable lien pour l'actionner... Bon, maintenant que ça marche, va falloir que je comprenne pourquoi et comment...

Merci pour le coup de main,

cordialement

triton

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