多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 自定义多图片 默认我们的多图是没有图片描述的,如果我们需要自定义描述,可以使用以下的自定义功能,当然可以定义更多字段,本功能需版本1.3.1+ ## 1.需求例子1:我们需要拓展数组字段,如下效果 ![](https://img.kancloud.cn/bd/40/bd40dbb37b48e31430a9e8927e11693a_685x242.png) ## 2.在`application\admin\view\custom`新建custom.html文件 ``` {php}$images = array_map(function($arr){return $arr['image'];}, (array)json_decode($vo['value'], true));{/php} <div class="layui-form-item layui-form-text"> <label class="layui-form-label">{$vo.title} {if condition="isset($vo.ifrequire) AND $vo.ifrequire"}&nbsp;<font color="red">*</font>{/if}</label> <div class="layui-input-block"> <div class="layui-col-xs4"> <input type="text" name="{$vo.fieldArr}[{$vo.name}]" id="c-{$vo.name}" value="{$images|implode=',',###}" class="layui-input layui-hide"> </div> <button type="button" class="layui-btn faupload" id="faupload-{$vo.name}" data-multiple="{$vo.type=='image'?'false':'true'}" data-input-id="c-{$vo.name}" data-preview-id="p-{$vo.name}" data-type="image"><i class="layui-icon layui-icon-upload"></i> 上传</button><button type="button" class="layui-btn fachoose" data-multiple="{$vo.type=='image'?'false':'true'}" data-mimetype="image" data-input-id="c-{$vo.name}" id="fachoose-c-{$vo.name}"><i class="iconfont icon-other"></i> 选择</button> <!--ul需要添加 data-template和data-name属性,并一一对应且唯一 --> <ul class="layui-row list-inline plupload-preview" id="p-{$vo.name}" data-template="{$vo.name}Tpl" data-name="{$vo.fieldArr}[{$vo.name}]"></ul> <!--请注意 ul和textarea间不能存在其它任何元素--> <textarea name="{$vo.fieldArr}[{$vo.name}]" class="layui-textarea layui-hide">{$vo.value}</textarea> </div> </div> <!--这里自定义图片预览的模板 开始--> <script type="text/html" id="{$vo.name}Tpl"> <li class="file-item thumbnail"> <a href="javascript:;"> <img data-image src="{{d.url || '/static/admin/img/none.png'}}" data-original="{{d.url || '/static/admin/img/none.png'}}"> <div class="file-panel"><i class="iconfont icon-yidong move-picture" data-cursor="pointer" style="cursor: pointer;"></i> <i class="iconfont icon-tailor cropper" data-input-id="c-xx"></i> <i class="iconfont icon-trash remove-picture"></i></div> </a> <input type="hidden" name="{$vo.fieldArr}[{$vo.name}][{{d.index}}][image]" placeholder="" value="{{d.url|| ''}}"/> <input type="text" name="{$vo.fieldArr}[{$vo.name}][{{d.index}}][title]" class="layui-input" placeholder="请输入标题" value="{{= d.value ? d.value.title:''}}"/> </li> </script> <!--这里自定义图片预览的模板 结束--> ``` ## 3.然后新建字段 ![](https://git.kancloud.cn/repos/ken678/yzncms/raw/b33d2680c3faa11fd20c942a372fc1ff4dc9e140/images/QQ%E6%88%AA%E5%9B%BE20201215115037.jpg?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTQ3MjQyOTIsImlhdCI6MTY5NDY4MTA5MiwicmVwb3NpdG9yeSI6ImtlbjY3OFwveXpuY21zIiwidXNlciI6eyJ1c2VybmFtZSI6ImtlbjY3OCIsIm5hbWUiOiJcdTVmYTFcdTViODVcdTc1MzdcdWZmMDhcdThmNmZcdTRlZjZcdTU0OGNcdTdmNTFcdTdhZDlcdTUyMzZcdTRmNWNcdWZmMDkiLCJlbWFpbCI6IjUzMDc2NTMxMEBxcS5jb20iLCJ0b2tlbiI6IjRmNTFhMTMyMzU2ZDgyNjY2ZmY3M2UwZWNmMWRkOWIxIiwiYXV0aG9yaXplIjp7InB1bGwiOnRydWUsInB1c2giOnRydWUsImFkbWluIjp0cnVlfX19.msjBtfeIg2FtrpvPwUbU5331XKuKiVT1y9K7UYx86_o) 这样就OK了,你可以完善更多的高级自定义字段 ps:需要注意的是,自定义没有经过处理,像上面的例子的字段要展现在前端需要json\_decode处理下