كيفية معاينة الصورة التي تم تحميلها في نموذج وحدة مخصصة

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

سؤال

أنا أتعلم الماجنتو ومحاولة لجعل وحدة لإدارة الطهاة في مطعم.أنا خلقت زر تحميل لتحميل الصورة ويعمل (الصور حفظ في الدليل ، اسم الملف المحفوظة في قاعدة البيانات).

لكنني لا أعرف كيفية الحصول على معاينة صغيرة للصورة بجوار الزر عند تحميل الصورة (مثل عند تحميل صورة الكتالوج).في الوقت الحالي ، عندما أنقر على "تحرير" لتحرير معلومات الشيف ، يبدو حقل الصورة كما هو إذا قمت بتحميل الصورة بالفعل أم لا.

هنا هو مجال عملي:

 $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',
    ));

إضافة كتلة الملف الخاص بك/أدمينتمل/مودولينام/العارض / صورة.بي إتش بي

 <?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