Как предварительно просмотреть загруженное изображение в формате пользовательских модулей

magento.stackexchange https://magento.stackexchange.com//questions/86142

Вопрос

Я изучаю 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 с атрибуция
Не связан с magento.stackexchange
scroll top