Estou tentando exibir a imagem em miniatura no meu formulário de edição do módulo de administração personalizado como este
. Agora, estou usando isso addfield
.
$fieldset->addField('main_image', 'image', array(
'label' => Mage::helper('ram')->__('Image'),
'required' => false,
'name' => 'main_image',
));
Eu olhei lib/Varien/Data/Form/Element/Image.php
e encontrei este código que usa imagens url lá.
public function getElementHtml()
{
$html = '';
if ((string)$this->getValue()) {
$url = $this->_getUrl();
if( !preg_match("/^http\:\/\/|https\:\/\//", $url) ) {
$url = Mage::getBaseUrl('media') . $url;
}
Mas não estou armazenando imagens na pasta media para este módulo. Estou carregando imagens do controlador na ram_images
pasta.
$path = Mage::getBaseDir('media') . DS .'ram_images' ;
$uploader->save($path, $_FILES['main_image']['name'] );
Além disso, não foi possível alterar a URL do Image.php
arquivo, pois isso afetará outros módulos do sistema. existe alguma solução alternativa aqui. Por favor, sugira uma solução.
E também quero excluir a imagem usando a caixa de seleção fornecida abaixo do botão de upload.
Obrigado.
Adicionar
'enctype'’ ⇒ 'multipart/form-data'
Isso deve ajudar a obter algo$_FILES
em /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Form.php
Você deve ter algo parecido com isto:
Em /app/code/local/Chilly/ModName/Block/Adminhtml/ModName/Edit/Tab/Form.php
Em /app/code/local/Chilly/ModName/controllers/Adminhtml/ModuleNameController.php em
saveAction()
O formulário de edição do seu será exibido como imagem ..
fonte
$path = Mage::getBaseDir('media') . DS .'ram_images';
esse caminho para fazer upload de imagens.Eu acho que tenho uma solução simples aqui para exibir a imagem em miniatura.
acabou de salvar o nome da pasta também na tabela e funcionou.
Para excluir a imagem, basta adicionar o seguinte código à
saveAction()
função dos controladores do módulo .Funcionou.
fonte
image