如何在我的后端模块joomla表单中上传多个图像

时间:2014-08-13 10:46:00

标签: php joomla

我正在Joomla 3.x中开发一个模块,并希望在后端添加一个浏览按钮,以便用户可以选择他们之前上传的文件,但是当我在mod_module_name.xml中使用媒体类型时,我只能上传一张照片。

我在xml文件中使用下面的代码,但我只能上传一张图片?我该怎么做呢?

               <field
                    name="image_intro"
                    type="media"
                    label="Select an Image"
                    description=""
                    class="inputbox" />

2 个答案:

答案 0 :(得分:0)

上传时,可以同时上传多张图片。单击“浏览”时,您可以通过按住键盘上的 CTRL 并选择所选图像来选择要上传的多个图像。

更新

以上内容仅适用于上传。如果您指的是选择图像,我建议您做的是允许用户键入图像上传到的目录。然后在您的模块中,您获取目录值并从那里获取所有图像。

因此,在XML文件中,使用以下命令:

<field
    name="directory"
    type="text"
    default="images/yourfolder"
    label="Type in your image directory"
    description=""
    class="inputbox" />

然后假设用户输入了images/customfolder,您可以使用以下内容显示该文件夹中的所有图像:

<?php 
    $directory = $params->get('directory');
    $path = JPATH_SITE . '/' . $directory;
    $exclude = array('index.html');
    $images = JFolder::files($path, '.', null, null, $exclude );

    foreach($images as $image)
    {
        echo '<img src="' . JUri::root() . $directory . '/' . $image . '" alt="" />';
    }
?>

如您所见,我已排除 index.html ,您可以向阵列添加更多排除。

当然,用户需要使用Joomla的媒体管理器上传图像。

答案 1 :(得分:0)

在Joomla 3.9.x中,使用“文件”表单字段类型并指定“ multiple = true”。参见https://docs.joomla.org/File_form_field_type

<field name="images"
   type="file"
   label="Select image(s) to upload"
   description="Choose one or more images from your computer"
   size="10"
   multiple="true"
/>