Wie wähle ich Daten aus einem Formular in das Backend aus?
Frage
Ich habe ein neues Menü im Backend erstellt, das ein Formular hat. Ich muss die Daten des Formulars auswählen und sie im selben .phtml oder eines anderen anzeigen, was mir nichts ausmacht. Tatsache ist jedoch, dass ich keine machen kann <form action="" method="POST">
Denn wenn ich auf die Schaltfläche klicke und die Seite aktualisiert wird, gibt es mich zum Hauptsteuerungspannel zurück, sodass ich die Daten nicht auswählen kann. Und wenn ich versuche, die Daten an eine andere .phtml zu senden, passiert es mir gleich, vielleicht weil ich das zweite .phtml (das PHTML mit de $ _post vars) in das falsche Verzeichnis stelle, aber ich bin nicht sicher. Beide .phtmls befinden sich im selben Ordner: /app/design/adminhtml/default/default/template
Lösung
Wie Petar feststellte, ist die geheime Formularschlüssel aktiviert und Sie werden zurück zum Dashboard zurückkehren.
Sie können feststellen, ob dies aktiviert ist, indem Sie die Tabelle anzeigen core_config_data
und Anzeigen des XPaths: admin/security/use_form_key
Wenn es auf 1 gesetzt ist, ist es aktiviert und wird empfohlen, es als solche zu halten, es ist eine Sicherheitsmaßnahme.
Beispiel:
echo Mage::helper("adminhtml")->getUrl("module_name/controller_name/action_name/",array("param1"=>1,"param2"=>2));
Sich ansehen Mage_Core_Model_Session::getFormKey
, auf die von adminHtml/url verwiesen wird. Dies sollte Ihnen mehr Einblicke in die Erzeugung dieser URLs geben.
Verwenden Sie auch in Ihrem .phtml das versteckte Eingangsfeld als solches:
<input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />