Sie sind hier fast richtig. Ich schlage Ihnen mein Arbeitsbeispiel vor, um das Bild des Feldes im Raster anzuzeigen
Grid.php
$this->addColumn('after_image', array(
'header' => Mage::helper('testimonials')->__('After Image'),
'align' =>'left',
'index' => 'after_image',
'renderer' => 'testimonials/adminhtml_testimonials_edit_renderer_testimonialafimage',
));
Wo testimonials
ist dein Block-Tag in config.xml?
und Ihre Renderdatei sollte wie in Ihrem Renderer-Index definiert sein
<?php
class Yournamespace_Testimonials_Block_Adminhtml_Testimonials_Edit_Renderer_Testimonialafimage extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
public function render(Varien_Object $row)
{
if($row->getId()) {
$imageName = $row->getAfterImage();
$imagePath = Mage::getBaseUrl("media").$imageName;
$dirImg = Mage::getBaseDir().str_replace("/",DS,strstr($imagePath,'/media'));
if (file_exists($dirImg) && !empty($imageName)) {
return "<img width='50px' height='50px' src='".Mage::getBaseUrl("media").$imageName."' />";
}else{
return "<img width='50px' height='50px' src='".Mage::getBaseUrl("media").'testimonial/not-available.jpg'."' />";
}
}
}
}
?>
BEARBEITEN
Verwenden Sie den Renderer im Bearbeitungsformular. Sie können die Bewertungsbearbeitungsform des Administrators sehen
class Mage_Adminhtml_Block_Rating_Edit_Tab_Form
$field = $fieldset->addField('stores', 'multiselect', array(
'label' => Mage::helper('rating')->__('Visible In'),
'name' => 'stores[]',
'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm()
));
$renderer = $this->getLayout()->createBlock('adminhtml/store_switcher_form_renderer_fieldset_element');
$field->setRenderer($renderer);
Ich hoffe, das reicht aus, um sich ein Bild zu machen.