Jump to content

Method POST - FrontController


rafz
 Share

Recommended Posts

Bonjour à tous,

 

J'ai développé un module sur PrestaShop 1.6, donc il affiche un formulaire pour envoyer une demande, le problème est que mon controlleur n'arrive pas à prendre les données du formulaire, il tombe sur une page introuvable. Je crois que le problème est dans la tag "action ={URL}", est-ce que quelqu'un peut m'aider?

 

 

Merci d'avance à ceux qui pourraient m'aider.

 

my controller:

class MyFormModuleFrontController extends ModuleFrontController
{

    public function __construct()
    {
        parent::__construct();
        $this->context = Context::getContext();

    }

    public function postProcess(){
        if (Tools::isSubmit('mymod_product')) {
            var_dump($_POST);
            die('I\'m here!!');
        }
    }
...

une petite partie du formulaire:

...
<form action="{$link->getModuleLink('mymod')}" method="post" id="mymod_frm" enctype="multipart/form-data">
					<div class="mymod_form_container">
						<div class="intro_form">{$terms}</div>
						<div class="left">
...
<p class="submit">
<input id="mymod_product" name="mymod_product" type="hidden" value="{$product->id|escape:'htmlall':'UTF-8'}" />

....
 

la structure:

 

.../modules/mymod/controllers/MyForm.php (controller)

.../modules/mymod/views/template/front/helpers/form/form.php (formulaire)

Edited by rafz (see edit history)

Share this post


Link to post
Share on other sites

 

Bonjour,

 

 

 

En théorie ici tu as des tpl pas de php 

 

Tu as quoi quand tu explores la source dans action="" ?

public function initContent()
{
    parent::initContent();


    $this->context->smarty->assign(array(
       'xxx' => true,
       'yyyy' => true,
    ));
    $this->setTemplate('form.tpl');

}

 

 

 

Oui tout à fait, je suis me trompé form.tpl, le problème c'est que je n'arrive pas passer (à partir de la tpl) les données à valider dans le controller, mais je sais bien qu'il le faut faire dans une classe ObjectModel (pour valider tous les données), et puis après le controller se charge d'appeller ce métode lors que le request (post) est activé, c'est bien ça non?

Share this post


Link to post
Share on other sites

  • 1 year later...

Bonjour,

le isSubmit(id_form), je sais pas pourquoi, mais il a pas souvent marché chez moi.

En général, je créé un input hidden avec un nom au pif, avec une value 1, donc quand tu soumets le formulaire, tu soumettras forcément cette valeur, donc tu pourras faire le isSubmit de ce hidden.

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More