Come scegliere i dati da un modulo nel back-end?
Domanda
Ho creato un nuovo menu sul backend, che ha una forma. Ho bisogno di raccogliere i dati del modulo e mostrare loro nello stesso .phtml o un altro, non mi dispiace. Ma il fatto è che io non posso fare un <form action="" method="POST">
perché quando si fa clic sul pulsante e la pagina viene aggiornata, mi torna al pannello di controllo principale, quindi non posso prendere i dati. E quando cerco di inviare i dati ad un altro .phtml, capita a me stesso, forse è perché sto mettendo il secondo .phtml (la phtml con de $ _POST VAR) nella directory di sbagliato, ma io non sono sicuro. Entrambi .phtmls sono nella stessa cartella: /app/design/adminhtml/default/default/template
Soluzione
Come Petar affermato chiave segreta modulo è abilitato e si vengono ritornato di nuovo al cruscotto.
È possibile determinare se questa è abilitata per la visualizzazione del core_config_data
tavolo e la visualizzazione del XPath:. admin/security/use_form_key
se è impostato a 1, allora è attivata e si consiglia di tenerlo come tale in quanto è una misura di sicurezza
Esempio:
echo Mage::helper("adminhtml")->getUrl("module_name/controller_name/action_name/",array("param1"=>1,"param2"=>2));
Date un'occhiata a Mage_Core_Model_Session::getFormKey
, che fa riferimento adminhtml / url. Questo dovrebbe dare un quadro più chiaro di come tali URL vengono generati.
Inoltre, nelle vostre .phtml utilizzano il campo di input nascosto in quanto tale:
<input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />