Php Magento-在后台上传图像

Php Magento-在后台上传图像,php,magento,image-uploading,Php,Magento,Image Uploading,我正试图在Magento的销售规则中上载图像 我将遵循以下教程: 我的字段必须在本机SalesRules Magento模块中,因此我重载了以下文件: Mage\u Adminhtml\u Block\u Promo\u Quote\u Edit\u表单 protected function _prepareForm() { $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this-&

我正试图在Magento的销售规则中上载图像

我将遵循以下教程:

我的字段必须在本机SalesRules Magento模块中,因此我重载了以下文件:

Mage\u Adminhtml\u Block\u Promo\u Quote\u Edit\u表单

protected function _prepareForm()
{
    $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post','enctype' => 'multipart/form-data'));
    $form->setUseContainer(true);
    $this->setForm($form);
    return parent::_prepareForm();
}
Mage\u Adminhtml\u Block\u Promo\u Quote\u Edit\u Tab\u Main 我在_prepareForm()函数中添加了我的字段

在此文件中,我更改了我的报税表:

最后我重载了这个文件:

Mage_Adminhtml_Promo_QuoteControl,我将添加到saveAction()函数:

if(isset($_FILES['image_promo']['name']) and (file_exists($_FILES['image_promo']['tmp_name']))) {
                try {
                    $uploader = new Varien_File_Uploader('image_promo');
                    $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['image_promo']['name']);

                    $data['image_promo'] = $_FILES['image_promo']['name'];
                }catch(Exception $e) {
                    Mage::logException($e);
                }
            }else {      

                if(isset($data['image_promo']['delete']) && $data['image_promo']['delete'] == 1)
                    $data['image_main'] = '';
                else
                    unset($data['image_promo']);
            }  
当我试图保存而不上传任何文件时,magento工作正常,但当我有一个图像时,我没有通过我的saveAction,我在仪表板上被重定向

我正试图通过这种方式在Main.php(第二个文件)中隐藏form_键

但这并没有改变任何事情

有什么想法吗

return parent::_prepareForm();
return Mage_Adminhtml_Block_Widget_Form::_prepareForm();
if(isset($_FILES['image_promo']['name']) and (file_exists($_FILES['image_promo']['tmp_name']))) {
                try {
                    $uploader = new Varien_File_Uploader('image_promo');
                    $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['image_promo']['name']);

                    $data['image_promo'] = $_FILES['image_promo']['name'];
                }catch(Exception $e) {
                    Mage::logException($e);
                }
            }else {      

                if(isset($data['image_promo']['delete']) && $data['image_promo']['delete'] == 1)
                    $data['image_main'] = '';
                else
                    unset($data['image_promo']);
            }  
 $fieldset->addField('form_key', 'hidden', array(
            'value' => Mage::getSingleton('core/session')->getFormKey(),
            'name'  => 'form_key',
    ));