如何让文件上传模块参数(表单字段)在Joomla 2.5(后端)中工作?



朋友,

我试图让文件上传表单字段在Joomla 2.5(.11)上工作。由于某些原因,我无法上传文件。

当我点击"保存"时,文件上传栏又显示"未选择文件"。

我已经搜索了文档和讨论,但无济于事。我确实找到了如何在后端组件上进行文件上传的信息——当然是利用PHP。

我已经附加了我的XML文件代码(但删除了个人识别信息等)。

我真的很感谢任何帮助,这与Stack上其他专注于PHP解决方案的帖子不同——我希望使用模块参数来做到这一点。

http://docs.joomla.org/File_form_field_type

<?xml version="1.0" encoding="utf-8"?>
<extension
        type="module"
        version="2.5"
        client="site"
        method="upgrade">
    <version>2.5.0</version>
    <config>
        <fields name="params" >
            <fieldset name="basic">
                <field name="file1" type="file" label="Upload" description="Upload a file" size="10" />
            </fieldset>
        </fields>
    </config>
</extension>

它说在文档中使用enctype="multipart/form-data"在表单字段,但我不确定这将去这里…我尝试在表单字段中包装字段并使用它,我还尝试将其设置为配置和字段元素,但无济于事。

任何帮助都是非常感激的,谢谢朋友。

我最近遇到了同样的问题,从组件/模块的后端上传文件。

根据我的发现,我可以告诉你:

  • 使用类型file 只生成html,而不生成功能。
  • 类型media 您可以上传文件,一般是图像和co.我没有成功使用pdf/xml/doc(特别是让媒体管理器显示它们,以便我可以选择一个-有一个视图只显示媒体文件)。对于某些文档类型,您需要配置一些安全检查以允许上传这些文件。
  • 类型fildlist 生成一个下拉列表,里面有可用的文件,所以你可以选择一个。

可能的解决方案(我没有尝试,但重新考虑我已经尝试过的,它可能工作)。1上传带有媒体的文件。2. 通过保存刷新页面。3.从下拉菜单中选择文件

如果有帮助请告诉我

如果您有一个支持的组件和表类,您可以很容易地使用file字段类型来处理所有前端HTML并重载JTable类中的store方法。插入以下代码行:

        $src = $form['jform']["tmp_name"]['document'];
    $path = JPATH_ROOT . "/media/com_mycomponent/documents/";
    $name = $form['jform']['name']['document'];
    $this->document = $name;
    JFile::upload($src, $path . $name);

此代码片段假设字段名称为document,并且希望存储在路径指向的任何位置。但是,这将帮助您保存实际文件;您需要将逻辑添加到表或模型类中,以标记和更改表单,以反映文件确实上传了,但仍然提供一个选项,以便在需要时进行更改。

有人有什么建议吗?

最新更新