Php Magento图像上载表单字段
我遵循了在我的Magento模块中实现图像上传的方法,但代码所做的最重要的事情就是通过POST传递选定的文件名:Php Magento图像上载表单字段,php,magento,file-upload,Php,Magento,File Upload,我遵循了在我的Magento模块中实现图像上传的方法,但代码所做的最重要的事情就是通过POST传递选定的文件名:$\u FILES每当我添加图像或文件字段时,数组都是空的 这是我的密码: <?php class Moo_News_Block_Adminhtml_News_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form { protected function _prepareForm() { $f
$\u FILES
每当我添加图像
或文件
字段时,数组都是空的
这是我的密码:
<?php
class Moo_News_Block_Adminhtml_News_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('news_form', array('legend' => Mage::helper('news')->__('Item information')));
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('news')->__('Title'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
));
$fieldset->addField('published', 'select', array(
'label' => Mage::helper('news')->__('Published'),
'name' => 'published',
'required' => true,
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('news')->__('Yes'),
),
array(
'value' => 0,
'label' => Mage::helper('news')->__('No'),
),
),
));
$fieldset->addField('short_description', 'editor', array(
'name' => 'short_description',
'label' => Mage::helper('news')->__('Short Description'),
'title' => Mage::helper('news')->__('Short Description'),
'style' => 'width:98%; height:200px;',
'wysiwyg' => false,
'required' => true,
));
$fieldset->addField('body', 'editor', array(
'name' => 'body',
'label' => Mage::helper('news')->__('Body'),
'title' => Mage::helper('news')->__('Body'),
'style' => 'width:98%; height:400px;',
'wysiwyg' => false,
'required' => true,
));
$fieldset->addField('image', 'file', array(
'label' => Mage::helper('news')->__('Image'),
'required' => false,
'name' => 'image',
));
if ( Mage::getSingleton('adminhtml/session')->getNewsData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getNewsData());
Mage::getSingleton('adminhtml/session')->setNewsData(null);
} elseif ( Mage::registry('news_data') ) {
$form->setValues(Mage::registry('news_data')->getData());
}
return parent::_prepareForm();
}
}
诀窍是更改默认表单创建代码
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
));
到
不是在我提供的代码中,而是在该部分的调用方中(..\u Adminhtml\u News\u Edit\u Form
而不是..\u Adminhtml\u News\u Edit\u Tab\u Form
)
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
));
$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'
));