Jump to content

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);
				};
		}
	}

}


 

Link to comment
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)
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...