1
我正在magento 1.7版本上工作。我有一个自定义扩展名。在这个我需要添加选项来上传多个图像类似于默认产品扩展的magento。如何在自定义模块中上传图片,就像在magento的管理员中添加产品一样?
我该如何做到这一点?
我正在magento 1.7版本上工作。我有一个自定义扩展名。在这个我需要添加选项来上传多个图像类似于默认产品扩展的magento。如何在自定义模块中上传图片,就像在magento的管理员中添加产品一样?
我该如何做到这一点?
由于您使用的是上传文件,您需要在您的edit.php文件中添加ENCTYPE =“的multipart/form-data的”(非常重要)
现在为了上传图像,表单文件应该是这样的
<?php
class Example_Imageuploader_Block_Adminhtml_Imageuploader_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('Images', array('legend'=>Mage::helper('banner')->__('Example Image')));
$fieldset->addField('image_1', 'file', array(
'label' => Mage::helper('imageuploader')->__('Upload'),
'value' => 'image_1',
'disabled' => false,
'readonly' => true,
));
/*
repeat this file field instant according to your need
*/
return parent::_prepareForm();
}
}
现在在你的控制器 - > saveAction()添加这些代码
<?php
public function saveAction()
{
if(isset($_FILES['image_1']['name']) and (file_exists($_FILES['image_1']['tmp_name'])))
{
try
{
$path = Mage::getBaseDir('media') . DS . 'banner' . DS;
$uploader = new Varien_File_Uploader('image_1');
$uploader
->setAllowedExtensions(array('jpg','png','gif','jpeg'));
$uploader->setAllowRenameFiles(false);
$uploader->setFilesDispersion(false);
$destFile = $path.$_FILES[$image]['name'];
$filename = $uploader->getNewFileName($destFile);
$uploader->save($path, $filename);
$data['img'] = $_FILES['image_1']['name'];
}
catch(Exception $e)
{
}
}
else
{
if(isset($data['image_1']['delete']) && $postData['image_1']['delete'] == 1)
$data['image_1'] = '';
else
unset($data['image_1']);
}
}
你完成了!我认为这将提供上传图片的基本想法。使用这个使你自己的自定义模块。祝你好运
它的好处是只有很少的文件需要上传,但是当用户要求在自定义模块中上传图像,就像在admin中添加产品一样意味着他想要一次上传多个图像*标签*的选项,*排除*,*删除* –