首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
搜索
舍力
登录
搜索
舍力
静以修身。
累计撰写
1140
篇文章
累计收到
3627
条评论
首页
栏目
首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
存档于 【201810】 的文章
2018-10-9
给Emlog6.0.0正式版之后台增加多个侧边栏教程
emlog6.0.0的正式版本自发布以来,相对5.3.1版本少了很多功能,本教程就是舍力讲述后台侧边栏多个调用的代码。模板的使用教程请参考《Emlog模板调用多个侧边栏教程》,下面我具体教程: 打开后台模板文件(admin/views/widgets.php)找到代码 <form action="widgets.php?action=compages" method="post" class="form-inline"> 此处内容省略,对照源文件即可... </form> ,用下面代码代码替换即可(请先备份,以防万一) <form action="widgets.php?action=compages" method="post" class="form-inline"> <div class="panel-body"> <div class="panel-group adm_widget_box" id="sortable"> <?php if($tpl_sidenum > 1):?> <p><select id="wg_select"><?php for($i=1;$i<=$tpl_sidenum;$i++):if($i==$wgNum):?><option value="<?php echo $i;?>" selected>侧边栏<?php echo $i;?></option><?php else:?><option value="<?php echo $i;?>">侧边栏<?php echo $i;?></option><?php endif;endfor;?></select></p> <?php endif;?> <?php foreach ($widgets as $widget): $flg = strpos($widget, 'custom_wg_') === 0 ? true : false; //是否为自定义组件 $title = ($flg && isset($custom_widget)) ? $custom_widget : ''; //获取自定义组件标题 if($flg && empty($title)){ preg_match("/^custom_wg_(\d+)/", $widget, $matches); $title = '未命名组件('.$matches.')'; }?> <?php if($widgetTitle){?> <div class="panel panel-default active_widget" id="em_<?php echo $widget; ?>" style="cursor:move;"> <div class="panel-heading"> <input type="hidden" name="widgets" value="<?php echo $widget; ?>" /> <h4 class="panel-title"><?php if($flg){echo $title;}else{echo $widgetTitle;}?></h4> </div> </div> <?php }endforeach; ?> </div> </div> <input type="hidden" name="wgnum" id="wgnum" value="<?php echo $wgNum; ?>" /> <div style="margin:20px 40px;"><input type="submit" value="保存组件排序" class="btn btn-primary" /> <a href="javascript:em_confirm(0, 'reset_widget', '<?php echo LoginAuth::genToken(); ?>');" class="btn btn-danger" >恢复出厂设置</a></div> </form> 教程完毕!!!当模板支持多个侧边栏时,后台及可自行设置侧边栏,效果图如下: -=-增加随机文章的代码 <div id="random_log" class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href=".random_log" class="widget-title" aria-expanded="false">随机文章</a> <li class="widget-act-add"></li> <li class="widget-act-del"></li> </h4> </div> <div class="random_log panel-collapse collapse" aria-expanded="false"> <div class="panel-body"> <form action="widgets.php?action=setwg&wg=random_log" method="post" class="form-inline"> <li>标题</li> <li><input type="text" name="title" class="form-control" value="<?php echo $customWgTitle; ?>" /></li> <li>显示随机文章数</li> <li><input class="form-control" maxlength="5" size="10" value="<?php echo Option::get('index_randlognum'); ?>" name="index_randlognum" /> <input type="submit" name="" value="更改" class="btn btn-primary btn-sm" /></li> </form> </div> </div> </div>
2018年10月9日
16221 阅读
12 评论
Emlog教程
2018-10-6
让Emlog6.0.0版本支持模板设置插件的教程分享
emlog6.0.0正式版中使用官方模板设置时无法正常设置模板参数,下面的是教程详情: 第一步、首先找到路径/admin/views/template.php文件中代码 <?php if (!defined('EMLOG_ROOT')) {exit('error!');}?> 后面加入代码 <div id="containers"><?php doAction('adm_main_top'); ?> 第二步、找到代码替换模板设置插件(content/plugins/tpl_options/assets/main.js)的所有代码即可 $(function() { //初始化变量 var tplOptions = window.tplOptions; var body = $('body'); var iframe = $('<iframe name="upload-image" src="about:blank" style="display:none"/>').appendTo(body); var optionArea = $('<div/>').appendTo($('#containers')).addClass(attr('area')).slideUp(); var templateContent = $('.tpl:last, #container table'); var loadingDom = $('<div />').appendTo(body); var message = $('<div />').appendTo($('.tpl_msg:first')).css('position', 'fixed'); var timer, input, targetInput, target, templateInput, template; var trueInput = $('<input type="file" name="image">').css({ position: 'absolute', margin: 0, visibility: 'hidden' }).on('change', function() { loading(); target = input.data('target'); targetInput.val(target); templateInput.val(template); form.submit(); }).on('mouseleave', function() { trueInput.css('visibility', 'hidden'); input.css('visibility', 'visible'); }); var form = $('<form id="upload-form" target="upload-image" />').append( trueInput, targetInput = $('<input type="hidden" name="target">'), templateInput = $('<input type="hidden" name="template">') ).appendTo(body).attr({ action: tplOptions.uploadUrl, target: 'upload-image', enctype: 'multipart/form-data', method: 'post' }); //插入设置按钮 for (var tpl in tplOptions.templates) { (function(tpl) { var td = $('.active .act').parent(); $('<span>设置 </span>').insertBefore(td.find('a')).addClass(attr('setting')).data('template', tpl); })(tpl); } //当前模板 (function() { try { var c urrentTemplate = $('.theme_ntpls .theme-preview .screenshot img').attr('src').match(/\/templates\/(.*?)\/preview.jpg/); if (tplOptions.templates) { $('<br>').insertBefore($('<span><strong></strong></span>').appendTo($('.theme_ntpls .theme-info')).addClass(attr('setting')).data('template', currentTemplate)); } }catch(err) {} })(); //绑定事件 body.on('click', '.' + attr('setting'), function() { $.ajax({ url: tplOptions.baseUrl, data: { template: $(this).data('template') }, cache: false, beforeSend: function() { loading(); editorMap = {}; }, success: function(data) { templateContent.slideUp(500, function() { optionArea.html(data).slideDown(); window.setTimeout(function() { initOptionSort(); initRichText(); loading(false); }, 0); }); } }); }).on('click', '.tpl-options-close', function() { optionArea.slideUp(500, function() { templateContent.slideDown(); }); }).on('click', '.option-sort-name', function() { var that = $(this); if (that.is('.selected')) { return; } var left = that.parent(), right = left.siblings('.option-sort-right'); left.find('.selected').removeClass('selected'); that.addClass('selected'); right.find('.option-sort-option').removeClass('selected').eq(that.index()).addClass('selected'); }).on('change', '.option-sort-select', function() { var that = $(this); var right = that.parent().siblings('.option-sort-right'); right.find('.option-sort-option').removeClass('selected').eq(that.find('option:selected').index()).addClass('selected'); }).on('mouseenter', '.tpl-options-form input', function() { input = $(this); trueInput.css(input.offset()); input.css('visibility', 'hidden'); trueInput.css('visibility', 'visible'); }).on('submit', 'form.tpl-options-form', function() { var that = $(this); $.ajax({ url: that.attr('action'), type: 'post', data: that.serialize(), cache: false, dataType: 'json', // beforeSend: loading, success: function(data) { showMsg(data.code, data.msg); }, error: function() { showMsg(1, '网络异常'); }, complete: function() { // loading(false); } }); return false; }).on('change', '.tpl-options-form input, .tpl-options-form textarea', function() { $('form.tpl-options-form').trigger('submit'); }); //定义方法 var initRichText = (function() { var num = 0; return function() { $('.option-rich-text').each(function() { var that = $(this); if (that.attr('id') === undefined) { that.attr('id', 'option-rich-text-' + (num++)); } loadEditor(that.attr('id')); }); window.setTimeout(function() { for (var id in editorMap) { editorMap.container.style.width = ''; } }, 100); } })(); window.setImage = function(src, path, code, msg) { if (code == 0) { $('').val(path).trigger('change'); $('').attr('href', src).find('img').attr('src', src); } else { alert('上传失败:' + msg) } trueInput.val(''); target = ''; loading(false); }; function initOptionSort() { $('.option-sort-left').each(function() { $(this).find('.option-sort-name:first').addClass('selected'); }); $('.option-sort-right').each(function() { $(this).find('.option-sort-option:first').addClass('selected'); }); } function loading(enable) { if (enable === undefined) { enable = true; } if (enable) { loadingDom.addClass('loading'); } else { loadingDom.removeClass('loading'); } } function showMsg(code, msg) { message.text(msg).css('display', ''); if (code == 0) { message.attr('class', 'alert alert-info alert-tpl'); if (timer) { window.clearTimeout(timer); } timer = window.setTimeout(function() { message.hide(); }, 2600); } else { message.attr('class', 'alert alert-danger alert-tpl'); } } function attr(name) { return tplOptions.prefix + name; } function loadEditor(id) { editorMap = editorMap || KindEditor.create('#' + id, { resizeMode: 1, allowUpload: false, allowImageUpload: false, allowFlashUpload: false, allowPreviewEmoticons: false, filterMode: false, afterChange: (function() { var t, i = 0; return function() { var that = this; if (t) { window.clearTimeout(t); } if (i++ > 0) { t = window.setTimeout(function() { that.sync(); $(that.srcElement).trigger('change'); }, 2000); } } })(), urlType: 'domain', items: }); } }); 温馨提示:本教程只针对emlog6.0.0版本,参考young小杰博客修改而来,其他emlog版无效!!!教程有小问题,不管模板支持不支持模板设置,都会显示设置2字。 参考教程:http://bbs.emlog.net/thread-65337-1-1.html
2018年10月6日
16170 阅读
2 评论
Emlog教程