首先创建模块所需要的所有文件夹。
在/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Form.php添加‘enctype’ => ‘multipart/form-data’
这样才能够使用$_FILES 获取值。
在/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Tab/Form.php里,
_prepareForm中,上传文件类型有3种,file,image,imagefile;image类型能预览和删除图片。
code如下:
在/app/code/local/Company/ModName/controllers/Adminhtml/ModuleNameController.php 里saveAction,
if ($data = $this→getRequest()→getPost())下面添加如下code:
如果你的上传类型是image,请使用如下code来删除图片:
在/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Form.php添加‘enctype’ => ‘multipart/form-data’
这样才能够使用$_FILES 获取值。
code如下:
- $form = new Varien_Data_Form(array(
- ‘id’ => ‘edit_form’,
- ‘action’ => $this->getUrl(‘*/*/save’, array(‘id’ => $this->getRequest()->getParam(‘id’))),
- ‘method’ => ‘post’,
- ‘enctype’ => ‘multipart/form-data’
- )
- );
在/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Tab/Form.php里,
_prepareForm中,上传文件类型有3种,file,image,imagefile;image类型能预览和删除图片。
code如下:
- $fieldset->addField(‘fileinputname’, ‘file/image/imagefile’, array(
- ‘label’ => Mage::helper(‘pictos’)->__(‘File label’),
- ‘required’ => false,
- ‘name’ => ‘fileinputname’,
- ));
在/app/code/local/Company/ModName/controllers/Adminhtml/ModuleNameController.php 里saveAction,
if ($data = $this→getRequest()→getPost())下面添加如下code:
- if(isset($_FILES['fileinputname']['name']) and (file_exists($_FILES['fileinputname']['tmp_name']))) {
- try {
- $uploader = new Varien_File_Uploader(‘fileinputname’);
- $uploader->setAllowedExtensions(array(‘jpg’,'jpeg’,'gif’,'png’)); // or pdf or anything
- $uploader->setAllowRenameFiles(false);
- // setAllowRenameFiles(true) -> move your file in a folder the magento way
- // setAllowRenameFiles(true) -> move your file directly in the $path folder
- $uploader->setFilesDispersion(false);
- $path = Mage::getBaseDir(‘media’) . DS ;
- $uploader->save($path, $_FILES['fileinputname']['name']);
- $data['fileinputname'] = $_FILES['fileinputname']['name'];
- }catch(Exception $e) {
- }
- }
如果你的上传类型是image,请使用如下code来删除图片:
- else {
- if(isset($data['fileinputname']['delete']) && $data['fileinputname']['delete'] == 1)
- $data['image_main'] = ”;
- else
- unset($data['fileinputname']);
- }