Pregunta

He creado un nuevo menú en el backend, que tiene una forma. Necesito de recoger los datos del formulario y mostrarlos en el mismo .phtml u otra, no me importa. Pero el hecho es que yo no puedo hacer un <form action="" method="POST"> porque cuando hago clic en el botón y se actualiza la página, me vuelve al panel de control principal, así que no puedo recoger los datos. Y cuando intento de enviar los datos a otro .phtml, me pasa lo mismo, tal vez es porque estoy poniendo la segunda .phtml (el phtml con $ _POST de VARs) en el directorio equivocado, pero no estoy seguro. Ambos .phtmls están en la misma carpeta: /app/design/adminhtml/default/default/template

¿Fue útil?

Solución

Como Petar declaró clave secreta forma está activado y que está siendo invertido de nuevo al tablero de instrumentos.

Se puede determinar si esto está activado visualizando el core_config_data mesa y ver el XPath:. admin/security/use_form_key si se pone a 1, entonces se habilita y se aconseja mantener como tal, ya que es una medida de seguridad

Ejemplo:

echo Mage::helper("adminhtml")->getUrl("module_name/controller_name/action_name/",array("param1"=>1,"param2"=>2));

Tome un vistazo a Mage_Core_Model_Session::getFormKey, al que hace referencia adminhtml / url. Esto debería dar una visión más clara de cómo se generan las direcciones URL.

Además, en sus .phtml utilizan el campo de entrada oculta como tal:

<input name="form_key" type="hidden" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top