문제

나는 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