Jump to content
JessTS

isSubmit ne fonctionne pas dans l'admin controller

Recommended Posts

J'ai créé un admin controller qui s'affiche comme je le souhaite mais lorsque je clique sur "submit", la fonction Tools::isSubmit ne fonctionne que si au préalable je n'ai pas utilisé de executeS.

Si jamais la fonction executeS est déjà utilisée; au clic sur submit, je suis redirigé vers le dashboard. En revanche, lorsque la ligne où le executeS est effacée, le submit fonctionne très bien.

Quelqu'un saurait-il comment régler le problème ? (le code ci-dessous sera peut être plus clair).

 

<?php

class AdminPopupController extends ModuleAdminController{

	public function __construct(){
		parent::__construct();
	}

	public function init(){

		parent::init();
		$this->bootstrap=true;
	}

	public function initContent(){
		parent::initContent();
		$this->context->smarty->assign(array(

			// lorsque la ligne ci-dessous est en commentaire
			'liste_popups'=>Db::getInstance()->executeS("SELECT nom_mabase FROM  `ps_matable`")
		));
		$this->setTemplate('popup.tpl');
	}


	public function postProcess(){
		if (Tools::isSubmit('popup_nouveau_menu')) {
			

			$popup_nouveau_menu_nom=Tools::getValue('popup_nouveau_menu_nom');

			// définition de menu actif
			if(Tools::getValue('popup_nouveau_menu_actif')!=0 && Tools::getValue('popup_nouveau_menu_actif')!=1 ){
				$popup_nouveau_menu_actif=0;
			}
			else{
				$popup_nouveau_menu_actif=Tools::getValue('popup_nouveau_menu_actif');
			}

			$requete="INSERT INTO `ps_popup_menu` (`nom_popup_menu`,`actif_popup_menu`)VALUES('".$popup_nouveau_menu_nom."', '".$popup_nouveau_menu_actif."')";
				if(!Db::getInstance()->execute($requete)){

					echo($requete);
				};
		}
	}

}


 

Share this post


Link to post
Share on other sites

99% de chance que le problème réside dans le popup.tpl

Share this post


Link to post
Share on other sites

Le popup me semble correct, voici le code :

Comme je le disais plus haut, tout fonctionne individuellement, que ce soit l'ajout à la base de données ou la récupération des données. Mais lorsque je mets les deux ensemble, il y a une redirection vers le dashboard au moment où je clique sur "sauvegarder" .

<div class="panel-body">
		<div class="form-wrapper">
					
		{foreach $liste_popups as $popup}

			<form>
				<div class="form-group">
					{$popup['nom_popup']}

					//ça, ça marche, les noms des popups sont récupérés. 
				</div>

		{/foreach}
		</div>
	</div>
  
  //plus bas, j'ai le formulaire, ça donne ça : 

<form method="post" class="defaultForm form-horizontal slideshow" >

	<div class="form-wrapper">
		<div class="form-group">
			<label class="control-label col-lg-5 required" for='popup_nom'>Nom du menu</label>
			<div class="col-lg-7">
				<input type="text" name="popup_nom" class="form-control" value="" />
			</div>
		</div>
	</div>


	<div class="form-wrapper">
		<div class="form-group">
			<label class="control-label col-lg-5">Actif</label>
			<div class="col-lg-3">
				<span class="switch prestashop-switch fixed-width-lg">
					<input type="radio" name="popup_actif" id="popup_actif" value="1">
					<label for="popup_actif">Oui</label>
					<input type="radio" name="popup_actif" id="popup_desactive" value="0" checked="checked">
					<label for="popup_desactive">Non</label>
					<a class="slide-button btn"></a>
				</span>													
			</div>
		</div>
	</div>

	<div class="panel-footer col-lg-12">	
		<button name="popup_nouveau_menu" class="btn btn-default pull-left" type="submit">	
			<i class="process-icon-save">	</i>
			Sauvegarder
		</button>
	</div>

</form>
  

 

Edited by JessTS (see edit history)

Share this post


Link to post
Share on other sites

Et donc, là, rien ne te choque?

					
		{foreach $liste_popups as $popup}

			<form>
				<div class="form-group">
					{$popup['nom_popup']}

					//ça, ça marche, les noms des popups sont récupérés. 
				</div>

		{/foreach}
		

 

Share this post


Link to post
Share on other sites

Non, mais je sens que j'ai visiblement pas capté un truc de base 😴

Share this post


Link to post
Share on other sites

Putain... Je viens de capter la balise <form> que j'ai oublié de supprimer 😕 Ok, merci pour l'information, dès que j'ai corrigé ça, ça fonctionne nickel.

 

Share this post


Link to post
Share on other sites
<form>

sans fermeture !!!!!

Share this post


Link to post
Share on other sites

Effectivement, j'avais posté par dessus le premier message masi le statut du message est hidden. Bon du coup, ça marche très bien. Merci pour la réponse :)

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

×
×
  • Create New...

Important Information

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