fecmall 后台 appadmin的编辑form表单加入图片类型

FecMall 技术分享 · Fecmall · 于 3年前 发布 · 1375 次阅读

在文件:@fecshop/app/appadmin/modules/AppadminbaseBlockEdit.php 可以看到加入了代码

} elseif ($display_type == 'inputImage') {
                $imgDisplay =  'display:none;' ;
                $imgUrl = '';
                if ($value) {
                    $imgDisplay = 'display:inline-block;';
                    $imgUrl = Yii::$service->image->getUrlByRelativePath($value);
                }
                $browseFiles = Yii::$service->page->translate->__('Browse Files');
                $uploadError = Yii::$service->page->translate->__('Upload Error');
                $imgUploadUrl = Yii::$service->url->getUrl('cms/xeditor/imageupload');
                $str .= <<<EOF
			<p class="edit_p" style="height:50px;">  
                    <label style="float:none;display:inline-block;">{$label} :</label>
                    <input type="hidden" class="textInput thumbnail_image img_{$name}" value="{$value}" name="{$this->_editFormData}[{$name}]" style="width:550px;">
                    <span style="width:80px;display:inline-block;">
                        <img style="width:50px;height:50px;{$imgDisplay}" class="cat_image_{$name}" src="{$imgUrl}" />
                    </span>
                    <button style="" onclick="getElementById('input_image_{$name}').click()" class="scalable" type="button" title="Duplicate" id=""><span><span><span>{$browseFiles}</span></span></span></button>

                    <input type="file" class="uploadImgFile_{$name}" rel="{$name}"  id="input_image_{$name}" style="height:0;width:0;z-index: -1; position: absolute;left: 10px;top: 5px;"/>
                    <a class="removeImgFile_{$name}"   href="javascript:void(0)" style="font-size: 20px; margin-left: 10px;margin-top: 10px;display: inline-block;color: #555;" >
                        <i class="fa fa-trash-o"></i>
                    </a>
			</p>
            <script>
                $(document).ready(function(){
                    $(".uploadImgFile_{$name}").change(function(){
                        var data = new FormData();
                        var kName = $(this).attr("rel");
                        $.each($(this)[0].files, function(i, file) {
                            data.append('upload_file', file);
                        });
                        $.ajax({
                            url:'{$imgUploadUrl}',
                            type:'POST',
                            data:data,
                            async:false,
                            dataType: 'json', 
                            timeout: 80000,
                            cache: false,
                            contentType: false,		//不可缺参数
                            processData: false,		//不可缺参数
                            success:function(data, textStatus){
                                if(data.err == "0"){
                                    alert(data.relative_path);
                                    $(".img_{$name}").val(data.relative_path);
                                    $(".cat_image_{$name}").attr("src",data.msg);
                                    $(".cat_image_{$name}").show();
                                }
                            },
                            error:function(){
                                alert('{$uploadError}');
                            }
                        });
                    });
                    $(".removeImgFile_{$name}").click(function(){
                        $(".cat_image_{$name}").attr("src", "");
                        $(".cat_image_{$name}").hide();
                        $(".img_{$name}").val('');
                        $("uploadImgFile_{$name}").val('');
                    });
                });
            
            </script>
EOF;

使用:在函数public function getEditArr() 返回的数组中加入

[
                'label'  => Yii::$service->page->translate->__('Test Image'),
                'name' => 'test_img_1',
                'display' => [
                    'type' => 'inputImage',
                ],
                'remark' => '',
            ],

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics