I am trying to add Image column in the existing module. but images are not showing up. here is the screenshot.
8 and 9 are having the image because I added it in MySQL.
here is my code. Grid.php
$this->addColumn('file', array(
'header' => Mage::helper('tv_faq')->__('Image'),
'align' =>'left',
'index' => 'file',
'renderer' => 'tv_faq/adminhtml_renderer_image',
'width' => '150px'
));
form.php
$fieldset->addField('file', 'image', array(
'label' => Mage::helper('tv_faq')->__('Image'),
'class' => '',
'required' => false,
'name' => 'file',
));
TV/Faq/Block/Adminhtml/Renderer/Image.php
public function render(Varien_Object $row){
if($row->getFile()!=''){
$image = Mage::getBaseUrl('media').$row->getFile();
return sprintf('<img src="%s" width="150px" alt="%s"/>',$image, $this->escapeHtml($row->getTitle()));
}
}
FaqController.php
public function saveAction()
{
// check if data sent
if ($data = $this->getRequest()->getPost()) {
// init model and set data
$model = Mage::getModel('tv_faq/faq')
->setCreationTime(Mage::getSingleton('core/date')->gmtDate())
->setImage($data['file'])
->setData($data)
->save();
// try to save it
try {
// save the data
$model->save();
// display success message
Mage::getSingleton('adminhtml/session')->addSuccess(
Mage::helper('cms')->__('FAQ Item was successfully saved')
);
// clear previously saved data from session
Mage::getSingleton('adminhtml/session')->setFormData(false);
// check if 'Save and Continue'
if ($this->getRequest()->getParam('back')) {
$this->_redirect('*/*/edit', array (
'faq_id' => $model->getId() ));
return;
}
// go to grid
$this->_redirect('*/*/');
return;
}
catch (Exception $e) {
// display error message
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
// save data in session
Mage::getSingleton('adminhtml/session')->setFormData($data);
// redirect to edit form
$this->_redirect('*/*/edit', array (
'faq_id' => $this->getRequest()->getParam('faq_id') ));
return;
}
}
$this->_redirect('*/*/');
}