$dies->getRequest()->getPost() return leeres array im magento back-end-Formular
Erstelle ich ein magento benutzerdefinierten admin-Modul und ein Formular. Ich will update in dieser form aber nicht aktualisieren. Im Controller unter SaveAction()
ich drucken $this->getRequest()->getPost()
und ein leeres array. bitte helfen Sie mir. Folgenden code für den form-Deklination..
protected function _prepareForm() {
$form = new Varien_Data_Form(array(
'id' => 'edit_form1',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
'enctype' => 'multipart/form-data'
)
);
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
Und Erstellen Sie einen ausgefeilten Satz wie
protected function _prepareForm() {
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('qbanner_form', array('legend' => Mage::helper('qbanner')->__('Art information')));
$fieldset->addField('name', 'text', array(
'label' => Mage::helper('catalog')->__('Product'),
'required' => false,
'name' => 'name',
));
$fieldset->addField('artist_name', 'text', array(
'label' => Mage::helper('catalog')->__('Artist Name'),
//'name' => 'artist_name',
'value' => Mage::helper('catalog')->__('Art Name value'),
));
$fieldset->addField('bca_status', 'select', array(
'label' => Mage::helper('catalog')->__('Art status'),
'name' => 'bca_status',
'values' =>$this->_getAttributeOptions('bca_status'),
));
$fieldset->addField('reason', 'editor', array(
'name' => 'reason',
'label' => Mage::helper('catalog')->__('Reason'),
'title' => Mage::helper('catalog')->__('Reason'),
'style' => 'width:440px; height:300px;',
'wysiwyg' => true,
'required' => false,
));
$fieldset->addField('thumbnail', 'text', array(
'label' => Mage::helper('catalog')->__('Art status'),
'name' => 'thumbnail',
//'values' =>$this->_getAttributeOptions('thumbnail'),
//'renderer' => 'Qaz_Qbanner_Block_Adminhtml_Qbanner_Grid_Renderer_Image'
));
if (Mage::getSingleton('adminhtml/session')->getQbannerData()) {
$form->setValues(Mage::getSingleton('adminhtml/session')->getQbannerData());
Mage::getSingleton('adminhtml/session')->setQbannerData(null);
} elseif (Mage::registry('qbanner_data')) {
$form->setValues(Mage::registry('qbanner_data')->getData());
}
return parent::_prepareForm();
}
protected function _getAttributeOptions($attribute_code)
{
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', $attribute_code);
$options = array();
foreach( $attribute->getSource()->getAllOptions(true, true) as $option ) {
$options[$option['value']] = $option['label'];
}
return $options;
}
Hier meine
SaveAction()
public function saveAction() {
echo print_r( $this->getRequest()->getPost());
}
Habe ich gebunden verious post. Irgendwelche Ideen?
- Ich sehe keine Felder im Formular. Fügen Sie vollständige code der _prepareForm () - Methode auf Ihre Frage.
- Ich habe Hinzugefügt, den vollständigen code.
- entfernen echo aus der saveAction(), print_r ist ausreichend, um drucken Sie das array auf browser, kann das array ist da, aber echo ist der Schuldige.
- Ich bin auch vor demselben Problem. Hat jemand die Lösung gefunden für dieses Problem?
- Ich habe das gleiche Problem @supravat
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gemeinsamen Fehler für alle.
You just need to add form key to your form
.Fügen Sie einfach diese Zeile unterhalb des Formulars Erklärung.
Wie diese
Hinzufügen. Jetzt können Sie get-Parameter durch
$this->getRequest()->getPost()
.können Sie get-Variablen von post-und get-Methode in magento mit $this->getRequest()->getParams(); getParams () - Methode, Aber wenn Sie wollen, um genau das bekommen, einige Variablen Daten dann verwenden von getParam('id');