如何将magento小部件窗体设置为enctype=";“多部分/表单数据”;上传文件?
我正在尝试为一个画廊制作一个小部件,因为我看到的所有模块都没有真正做到我想要的,小部件似乎是让最终用户对放置进行轻松控制的前进方向 到目前为止,我已经学习了Magento如何制作小部件教程: 这使我能够设置所需的文件,并在后端识别内容 现在,我可以通过下面的代码添加图像上载字段,但文件没有上载,这似乎是由于添加文件字段时未自动设置enctype=“multipart/form data” 所以我四处看了看,似乎可以为小部件表单添加一个helper块 local/WebsiteDevelopment/GalleryWidget/etc/Widget.xml如何将magento小部件窗体设置为enctype=";“多部分/表单数据”;上传文件?,magento,file-upload,widget,Magento,File Upload,Widget,我正在尝试为一个画廊制作一个小部件,因为我看到的所有模块都没有真正做到我想要的,小部件似乎是让最终用户对放置进行轻松控制的前进方向 到目前为止,我已经学习了Magento如何制作小部件教程: 这使我能够设置所需的文件,并在后端识别内容 现在,我可以通过下面的代码添加图像上载字段,但文件没有上载,这似乎是由于添加文件字段时未自动设置enctype=“multipart/form data” 所以我四处看了看,似乎可以为小部件表单添加一个helper块 local/WebsiteDevelopme
<?xml version="1.0"?>
<widgets>
<WebsiteDevelopment_GalleryWidget type="widgets/list" translate="name description" module="GalleryWidget">
<name>Banner Gallery</name>
<description>Adds a full page width gallery</description>
<parameters>
<enabled_services>
<label>Enabled Services</label>
<visible>1</visible>
<required>1</required>
<type>multiselect</type>
<source_model>WebsiteDevelopment_GalleryWidget_Model_Services</source_model>
</enabled_services>
<helper_block>
<type>WebsiteDevelopment/GalleryWidget_Adminhtml_Edit_Form</type>
</helper_block>
<template translate="label">
<label>Frontend Template</label>
<visible>1</visible>
<required>1</required>
<type>select</type>
<values>
<text translate="label">
<value>GalleryWidget/view.phtml</value>
<label>Text Links</label>
</text>
</values>
</template>
<image>
<label>Image One</label>
<description>The first image for the banner</description>
<visible>1</visible>
<type>image</type>
</image>
</parameters>
</WebsiteDevelopment_GalleryWidget>
</widgets>
旗帜画廊
添加一个全页面宽度的库
启用的服务
1.
1.
多选
网站开发\u GalleryWidget\u模型\u服务
网站开发/GalleryWidget\u Adminhtml\u编辑\u表单
前端模板
1.
1.
选择
GalleryWidget/view.phtml
文本链接
图像一
横幅的第一个图像
1.
形象
因此,在我将helper块添加到上面xml的params部分之后,我在WebsiteDevelopment/GalleryWidget/block/Adminhtml/Edit/Form.php(我认为它应该在哪里,我仍然不确定块是否必须在像这样的特定结构中才能在后端使用)创建我的helper,然后添加以下代码
网站开发/GalleryWidget/Block/Adminhtml/Edit/Form.php
<?php
class WebsiteDevelopment_GalleryWidget_Block_Adminhtml_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'enctype' => 'multipart/form-data'
));
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
}
表单应按如下方式初始化:
protected function _prepareForm()
{
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'),'store' => $this->getRequest()->getParam('store'))),
'method' => 'post',
'enctype' => 'multipart/form-data'
));
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
如果您试图创建一个包含相册并分布在多个页面上的图像库,那么我不会使用小部件。我只会使用一个小部件,如果你只是想在一个页面上播放多个格式很好的图像。我将创建一个自定义模块,该模块具有一个数据库表来存储数据,并具有允许在库中移动的控制器。我为一个客户端做了这项工作,并模拟了类别的管理界面,以允许创建相册和图像。