Я пытаюсь отобразить уменьшенное изображение в моей форме редактирования модуля администратора, как это
прямо сейчас. Я использую это addfield
.
$fieldset->addField('main_image', 'image', array(
'label' => Mage::helper('ram')->__('Image'),
'required' => false,
'name' => 'main_image',
));
Я посмотрел lib/Varien/Data/Form/Element/Image.php
и нашел этот код, который использует URL изображения там.
public function getElementHtml()
{
$html = '';
if ((string)$this->getValue()) {
$url = $this->_getUrl();
if( !preg_match("/^http\:\/\/|https\:\/\//", $url) ) {
$url = Mage::getBaseUrl('media') . $url;
}
Но я не храню изображения в медиа-папке для этого модуля. Я загружаю изображения из контроллера в ram_images
папку.
$path = Mage::getBaseDir('media') . DS .'ram_images' ;
$uploader->save($path, $_FILES['main_image']['name'] );
Кроме того, я не мог изменить URL из Image.php
файла, так как это повлияет на другие системные модули. есть ли обходной путь здесь. Пожалуйста, предложите решение.
И я также хочу, чтобы удалить изображение с помощью флажка ниже кнопки загрузки.
Спасибо.
Добавить
'enctype'’ ⇒ 'multipart/form-data'
Это должно помочь получить что-то в$_FILES
в /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Form.php
У вас должно быть что-то похожее на это:
Затем в /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Tab/Form.php
Затем в /app/code/local/Chilly/ModName/controllers/Adminhtml/ModuleNameController.php в
saveAction()
Ваша форма редактирования будет отображаться как:
источник
$path = Mage::getBaseDir('media') . DS .'ram_images';
этот путь для загрузки изображений.Я думаю, что у меня есть простое решение для отображения эскиза изображения.
просто сохранил имя папки тоже в таблице и все заработало.
Для удаления изображения просто добавьте следующий код в
saveAction()
функцию контроллеров модуля .Это сработало.
источник
image