On 3/28/2019 at 10:32 PM, fred1roca said:tengo un modulo el cual inserta un formulario en front office en el hook hookDisplayCustomerAccountForm
pero nunca le llega el post
cuando es el back office en la funcion getContent se usa
if (Tools::isSubmit('boton')) { }pero en el hook esto no me ha funcionado si tengo
public function hookDisplayCustomerAccountForm() { if (Tools::isSubmit('boton')) { } }pero jamas captura dicho post desde el formulario
alguien sabe como se hace esto ? tengo el formulario en el front office así
<form action="" method="POST" id="form" name="form"> <div> <input type="text" class="" name="iusser" placeholder="Email" id="iusser"> </div> <br> <div> <input type="password" class="" name="passs" placeholder="Contraseña" id="passs"> </div> <br> <button type="submit" class="" name="boton" id="boton" class="form-control-submit"> Iniciar sesión </button> </form>
En el form te falta definir la url de la "action" , deberia poner algo así <form action="my_module_url.php" id="form" name="form"> y que la url sea del php donde se recoge las variables del post.
En el php hay que recoger las variables fuera de la función y despues llamar a la función.
Algo asi pasito a pasito:
->form dentro de un tpl anclado o no al hook
-> submit a una url de un php, que puede ser la misma del modulo que se executa en este hoock (se puede usar la variable smarty de la url {$request_uri} o incluso con # puede funcionar)
-> con la url definida como action el submit llama al php al clicar en enviar form
-> dentro del php (pero fuera de la función o dentro de la función del hook si el modulo está anclado) se verifica si hay post o submit ( if (Tools::isSubmit('boton')) o if (Tools::getValue('my_pos_variable')) y llamamos a la funcion que estará dentro del php: if (Tools::isSubmit('boton')) { $this->mi_funcion(); }
-> en el mismo php se execurá la funcion llamada por el if: public mi_funcion() { //aqui vá el código do que hacer en caso de submit o si existe post}
Suerte.