1、首先在配置管理中添加 5:图片 如下图;

2、然后修改配置组模板(后台模板,原模板代码)
<extend name="Public/base"/>

<block name="body">
    <div class="main-title">
        <h2>网站设置</h2>
    </div>
        <div class="tab-wrap">
        <ul class="tab-nav nav">
        <volist name="Think.config.CONFIG_GROUP_LIST" id="group">

            <li <eq name="id" value="$key">class="current"</eq>><a href="{:U('?id='.$key)}">{$group}配置</a></li>

        </volist>
        </ul>
        <div class="tab-content">
    <form action="{:U('save')}" method="post" class="form-horizontal">
    <volist name="list" id="config">
        <div class="form-item">
            <label class="item-label">{$config.title}<span class="check-tips">({$config.remark})</span> </label>
            <div class="controls">
            <switch name="config.type">
            <case value="0">
            <input type="text" class="text input-small" name="config[{$config.name}]" value="{$config.value}">
            </case>
            <case value="1">
            <input type="text" class="text input-large" name="config[{$config.name}]" value="{$config.value}">
            </case>
            <case value="2">
            <label class="textarea input-large">
                <textarea name="config[{$config.name}]">{$config.value}</textarea>
            </label>
            </case>
            <case value="3">
            <label class="textarea input-large">
                <textarea name="config[{$config.name}]">{$config.value}</textarea>
            </label>
            </case>
            <case value="4">
            <select name="config[{$config.name}]">
                <volist name=":parse_config_attr($config['extra'])" id="vo">
                    <option value="{$key}" <eq name="config.value" value="$key">selected</eq>>{$vo}</option>
                </volist>
            </select>
            </case>       
            </switch>
            </div>
        </div>
        </volist>
        <div class="form-item">
            <label class="item-label"></label>
            <div class="controls">
                <empty name="list"><button type="submit" disabled class="btn submit-btn disabled" target-form="form-horizontal">确 定</button><else/><button type="submit" class="btn submit-btn ajax-post" target-form="form-horizontal">确 定</button></empty>

                <button class="btn btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
            </div>
        </div>
    </form>
            </div>
    </div>
</block>

<block name="script">

</block>
3、修改后代码如下,请注意比较;
<extend name="Public/base"/>

<block name="body">
    <script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
    <div class="main-title">
        <h2>网站设置</h2>
    </div>
        <div class="tab-wrap">
        <ul class="tab-nav nav">
        <volist name="Think.config.CONFIG_GROUP_LIST" id="group">

            <li <eq name="id" value="$key">class="current"</eq>><a href="{:U('?id='.$key)}">{$group}配置</a></li>

        </volist>
        </ul>
        <div class="tab-content">
    <form action="{:U('save')}" method="post" class="form-horizontal">
    <volist name="list" id="config">
        <div class="form-item">
            <label class="item-label">{$config.title}<span class="check-tips">({$config.remark})</span> </label>
            <div class="controls">
            <switch name="config.type">
            <case value="0">
            <input type="text" class="text input-small" name="config[{$config.name}]" value="{$config.value}">
            </case>
            <case value="1">
            <input type="text" class="text input-large" name="config[{$config.name}]" value="{$config.value}">
            </case>
            <case value="2">
            <label class="textarea input-large">
                <textarea name="config[{$config.name}]">{$config.value}</textarea>
            </label>
            </case>
            <case value="3">
            <label class="textarea input-large">
                <textarea name="config[{$config.name}]">{$config.value}</textarea>
            </label>
            </case>
            <case value="4">
            <select name="config[{$config.name}]">
                <volist name=":parse_config_attr($config['extra'])" id="vo">
                    <option value="{$key}" <eq name="config.value" value="$key">selected</eq>>{$vo}</option>
                </volist>
            </select>
            </case>
            <case value="5">
                <div class="controls">
                    <input type="file" id="upload_picture_{$config.name}">
                    <input type="hidden" name="config[{$config.name}]" id="cover_id_{$config.name}" value="{$config.value}"/>
                    <div class="upload-img-box">
                    <notempty name="config['value']">
                        <div class="upload-pre-item"><img src="__ROOT__{$config['value']|get_cover='path'}"/></div>
                    </notempty>
                    </div>
                </div>
                <script type="text/javascript">
                //上传图片
                /* 初始化上传插件 */
                $("#upload_picture_{$config.name}").uploadify({
                    "height"          : 30,
                    "swf"             : "__STATIC__/uploadify/uploadify.swf",
                    "fileObjName"     : "download",
                    "buttonText"      : "上传图片",
                    "uploader"        : "{:U('File/uploadPicture',array('session_id'=>session_id()))}",
                    "width"           : 120,
                    'removeTimeout'   : 1,
                    'fileTypeExts'    : '*.jpg; *.png; *.gif;',
                    "onUploadSuccess" : uploadPicture{$config.name}
                });
                function uploadPicture{$config.name}(file, data){
                    var data = $.parseJSON(data);
                    var src = '';
                    if(data.status){
                        $("#cover_id_{$config.name}").val(data.id);
                        src = data.url || '__ROOT__' + data.path
                        $("#cover_id_{$config.name}").parent().find('.upload-img-box').html(
                            '<div class="upload-pre-item"><img src="' + src + '"/></div>'
                        );
                    } else {
                        updateAlert(data.info);
                        setTimeout(function(){
                            $('#top-alert').find('button').click();
                            $(that).removeClass('disabled').prop('disabled',false);
                        },1500);
                    }
                }
                </script>
            </case>           
            </switch>

            </div>
        </div>
        </volist>
        <div class="form-item">
            <label class="item-label"></label>
            <div class="controls">
                <empty name="list"><button type="submit" disabled class="btn submit-btn disabled" target-form="form-horizontal">确 定</button><else/><button type="submit" class="btn submit-btn ajax-post" target-form="form-horizontal">确 定</button></empty>

                <button class="btn btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
            </div>
        </div>
    </form>
            </div>
    </div>
</block>

<block name="script">

</block>
4、在配置管理中新增配置项:比如:SITE_LOGO,配置类型选择图片,点保存;

5、查看案例效果,如下图,即可上传图片;

6、前台模板调用如下代码;
    <php>
        $site_logo = C('SITE_LOGO');
    </php>
    <img src="{$site_logo|get_cover='path'}">
点赞(2) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部