Estoy tratando de mostrar una imagen en miniatura en mi formulario de edición de módulo de administración personalizado como este
En este
momento estoy usando esto addfield
.
$fieldset->addField('main_image', 'image', array(
'label' => Mage::helper('ram')->__('Image'),
'required' => false,
'name' => 'main_image',
));
Miré lib/Varien/Data/Form/Element/Image.php
y encontré este código que usa imágenes url allí.
public function getElementHtml()
{
$html = '';
if ((string)$this->getValue()) {
$url = $this->_getUrl();
if( !preg_match("/^http\:\/\/|https\:\/\//", $url) ) {
$url = Mage::getBaseUrl('media') . $url;
}
Pero no estoy almacenando imágenes en la carpeta de medios para este módulo. Estoy cargando imágenes del controlador en la ram_images
carpeta.
$path = Mage::getBaseDir('media') . DS .'ram_images' ;
$uploader->save($path, $_FILES['main_image']['name'] );
Además, no pude cambiar la URL del Image.php
archivo, ya que afectará a otros módulos del sistema. ¿Hay alguna solución aquí? Por favor sugiera una solución.
Y también quiero eliminar la imagen usando la casilla de verificación proporcionada debajo del botón de carga.
Gracias.
Agregar
'enctype'’ ⇒ 'multipart/form-data'
eso debería ayudar a conseguir algo$_FILES
en /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Form.php
Deberías tener algo así:
Luego en /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Tab/Form.php
Luego en /app/code/local/Chilly/ModName/controllers/Adminhtml/ModuleNameController.php en
saveAction()
El formulario de edición de su se mostrará la imagen como ..
fuente
$path = Mage::getBaseDir('media') . DS .'ram_images';
esta ruta para subir imágenes.Creo que obtuve una solución simple aquí para mostrar imágenes en miniatura.
acabo de guardar el nombre de la carpeta también en la tabla y funcionó.
Para eliminar la imagen que acaba de agregar el siguiente código a la
saveAction()
función de controladores del módulo .Funcionó.
fuente
image