I have a custom grid. Need to upload product images from admin form of the custom module.
Here is the grid Edit file at:
app\code\local\Crud\Banner\Block\Adminhtml\Banner\Edit\Form.php
$fieldset = $form->addFieldset('banner_form', array('legend'=>Mage::helper('banner')->__('Banner information')));
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('banner')->__('Title'),
'class' => 'required-entry',
//'required' => true,
//'readonly' => true,
'name' => 'title',
));
$fieldset->addField('filename', 'image', array(
'label' => Mage::helper('banner')->__('Upload Banner'),
'class' => 'required-entry',
//'required' => true,
//'readonly' => true,
//'renderer' => 'banner/adminhtml_banner_renderer_image',
'name' => 'filename',
));
$fieldset->addField('status', 'select', array(
'label' => Mage::helper('banner')->__('Status'),
'name' => 'status',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('banner')->__('Desabilitado'),
),
array(
'value' => 0,
'label' => Mage::helper('banner')->__('Habilitado'),
),
),
));
if ( Mage::getSingleton('adminhtml/session')->getBannerData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getBannerData());
Mage::getSingleton('adminhtml/session')->setBannerData(null);
} elseif ( Mage::registry('banner_data') ) {
$form->setValues(Mage::registry('banner_data')->getData());
}
$this->setForm($form);
return parent::_prepareForm();
}
Here is the controller SaveAction:
public function saveAction()
{
if ( $this->getRequest()->getPost() ) {
try {
$postData = $this->getRequest()->getPost();
$bannerModel = Mage::getModel('banner/banner');
$bannerModel->setId($this->getRequest()->getParam('id'))
->setTitle($postData['title'])
->setStatus($postData['status'])
->save();
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Data was successfully saved'));
Mage::getSingleton('adminhtml/session')->setBannerData(false);
$this->_redirect('*/*/');
return;
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
Mage::getSingleton('adminhtml/session')->setBannerData($this->getRequest()->getPost());
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
}
}
$this->_redirect('*/*/');
}