我正在学习Magento,并试图制作一个模块来管理餐厅的厨师。我创建了一个上传按钮来上传图像,它可以工作(图像保存在目录中,文件名保存在数据库中)。

但不知道如何在图片已经上传时(如上传目录图片时)按钮旁边有一个小的图像预览。目前,当我点击"编辑"来编辑厨师信息时,如果我已经上传了图像,图像字段看起来是一样的。

这是我的领域:

 $fieldset->addField('image_url', 'image', array(
        'label'     => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
        'required'  => false,
        'name'      => 'image_url',
    ));

有什么建议吗?非常感谢!

有帮助吗?

解决方案

使用完整路径保存图像名称。

media/{yourfolder}/imagename.jpg
.

使用yourfolder/imagename.jpg

保存在数据库中

它将以编辑形式自动显示。

您可以呈现该字段并显示图像

$fieldset->addField('image_url', 'image', array(
        'label'     => Mage::helper('tressympa_cheflist')->__('Profile Picture'),
        'required'  => false,
        'renderer' => 'modulename/adminhtml_modulename_renderer_image',
        'name'      => 'image_url',
    ));
.

添加您的文件块/ adminhtml / modulename / renderer / image.php

 <?php
    class NameSpace_ModuleName_Block_Adminhtml_ModuleName_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{
       public function render(Varien_Object $row)   {
            $html = '<img id="' . $this->getColumn()->getId() . '" src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$row->getData($this->getColumn()->getIndex()) . '"';
            $html .= '/>';
            return $html;
        }
    }
    ?>
.

其他提示

如果以默认方式保存图像,则可以实现此目的 media 文件夹而不是 media/{yourfolder}/imagename.jpg 像更改图像路径

media/{yourfolder}/imagename.jpg => media/imagename.jpg
许可以下: CC-BY-SA归因
scroll top