我正在Joomla 3.x中开发一个模块,并希望在后端添加一个浏览按钮,以便用户可以选择他们之前上传的文件,但是当我在mod_module_name.xml中使用媒体类型时,我只能上传一张照片。
我在xml文件中使用下面的代码,但我只能上传一张图片?我该怎么做呢?
<field
name="image_intro"
type="media"
label="Select an Image"
description=""
class="inputbox" />
答案 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"
/>