376 lines
14 KiB
HTML
376 lines
14 KiB
HTML
{extend name="public/base" /}
|
||
|
||
{block name="title"}编辑帖子{/block}
|
||
{block name="link"}<link rel="stylesheet" href="/static/res/css/plyr.css" charset="utf-8">{/block}
|
||
{block name="column"}{/block}
|
||
{block name="content"}
|
||
<div class="layui-container fly-marginTop">
|
||
<div class="fly-panel" pad20 style="padding-top: 5px;">
|
||
<!--<div class="fly-none">没有权限</div>-->
|
||
<div class="layui-form layui-form-pane">
|
||
<div class="layui-tab layui-tab-brief" lay-filter="user">
|
||
<ul class="layui-tab-title">
|
||
<li class="layui-this">{:lang('edit post')}</li>
|
||
</ul>
|
||
<div class="layui-form layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
|
||
<div class="layui-tab-item layui-show">
|
||
|
||
<input type="hidden" name="id" value="{$article.id}">
|
||
<div class="layui-row layui-col-space15 layui-form-item">
|
||
<div class="layui-col-md3">
|
||
<label class="layui-form-label">{:lang('special column')}</label>
|
||
<div class="layui-input-block">
|
||
<div id="CateId" class="xm-select-demo"></div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md8">
|
||
<label for="L_title" class="layui-form-label">{:lang('title')}</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" value="{$article.title}">
|
||
<input type="hidden" id="L_title_color" name="title_color" autocomplete="off" class="layui-input" value="{$article.title_color ?? '#333'}">
|
||
<input type="hidden" name="user_id" value="{$article.user_id}">
|
||
</div>
|
||
</div>
|
||
{if ($user.auth == 1)}
|
||
<div class="layui-col-md1">
|
||
<div id="color"></div>
|
||
<div id="test9" style="margin-left: 30px;"></div>
|
||
</div>
|
||
{/if}
|
||
</div>
|
||
<!--div class="layui-row layui-col-space15 layui-form-item layui-hide" id="LAY_quiz">
|
||
<div class="layui-col-md3">
|
||
<label class="layui-form-label">所属产品</label>
|
||
<div class="layui-input-block">
|
||
<select name="project">
|
||
<option></option>
|
||
<option value="layui">layui</option>
|
||
<option value="独立版layer">独立版layer</option>
|
||
<option value="独立版layDate">独立版layDate</option>
|
||
<option value="LayIM">LayIM</option>
|
||
<option value="Fly社区模板">Fly社区模板</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md3">
|
||
<label class="layui-form-label" for="L_version">版本号</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" id="L_version" value="" name="version" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md6">
|
||
<label class="layui-form-label" for="L_browser">浏览器</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" id="L_browser" value="" name="browser" placeholder="浏览器名称及版本,如:IE 11" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
</div-->
|
||
|
||
<div class="layui-form-item layui-form-text">
|
||
<div class="layui-input-block">
|
||
<textarea id="L_content" name="content" required lay-verify="required" placeholder="详细内容" class="layui-textarea fly-editor" style="height: 260px;">{$article.content}</textarea>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">悬赏飞吻</label>
|
||
<div class="layui-input-inline" style="width: 190px;">
|
||
<select name="experience">
|
||
<option value="20">20</option>
|
||
<option value="30">30</option>
|
||
<option value="50">50</option>
|
||
<option value="60">60</option>
|
||
<option value="80">80</option>
|
||
</select>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">发表后无法更改飞吻</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">{:lang('enclosure')}</label>
|
||
<div class="layui-input-inline" style="width: 190px;">
|
||
<input type="text" class="layui-input" name="upzip" value="{$article.upzip}" placeholder="zip,jpg格式" title="上传附件"/>
|
||
</div>
|
||
<button type="button" class="layui-btn" id="zip-button"><i class="layui-icon"></i>上传文件</button>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item layui-hide">
|
||
<label class="layui-form-label">{:lang('描述')}</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="description" class="layui-textarea" placeholder="SEO描述">{$article.description}</textarea>
|
||
</div>
|
||
</div>
|
||
{//关键词}
|
||
<div class="layui-form-item layui-hide">
|
||
<label class="layui-form-label">{:lang('添加关键词')}</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" class="layui-input" name="keywords" value="{$article.keywords}" placeholder="多个英文逗号隔开" title="添加关键词" />
|
||
</div>
|
||
</div>
|
||
{//tag}
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">{:lang('add tags')}</label>
|
||
<div class="layui-input-block">
|
||
<div id="tag"></div>
|
||
</div>
|
||
</div>
|
||
{if config('taoler.config.post_captcha') == 1}
|
||
<div class="layui-form-item">
|
||
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" id="L_vercode" name="captcha" required lay-verify="required" placeholder="{:lang('please input the captcha')}" autocomplete="off" class="layui-input">
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux" style="padding-top: 0px !important;">
|
||
<img id="captcha" src="{:captcha_src()}" onclick="this.src='{:captcha_src()}?'+Math.random();" style="float:left; cursor:pointer;" alt="captcha" />
|
||
</div>
|
||
</div>
|
||
{/if}
|
||
<div class="layui-form-item">
|
||
<button type="submit" class="layui-btn" lay-filter="article-edit" lay-submit id="edit">{:lang('post now')}</button>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{include file="public/menu" /}
|
||
{/block}
|
||
|
||
{block name="script"}
|
||
{:hook('taonyeditor')}
|
||
<script src="/static/xm-select.js"></script>
|
||
<script>
|
||
var cateId = "{$article.cate.id}";
|
||
var artId = "{$article.id}";
|
||
// 分类选择
|
||
$(function(){
|
||
//这里模拟ajax
|
||
$.get("{:url('article/getCateTree')}",function(res){
|
||
var data = res.data;
|
||
// 渲染下拉树
|
||
xmSelect.render({
|
||
el: '#CateId',
|
||
name: 'cate_id',
|
||
height: '250px',
|
||
layVerify: 'required',
|
||
layVerType: 'tips',
|
||
data: data,
|
||
initValue: [cateId],
|
||
model: {label: {type: 'text'}},
|
||
prop: {
|
||
name: 'catename',
|
||
value: 'id'
|
||
},
|
||
radio: true,
|
||
clickClose: true,
|
||
tree: {
|
||
show: true,
|
||
indent: 15,
|
||
strict: false,
|
||
expandedKeys: true
|
||
},
|
||
tips: '请选择'
|
||
});
|
||
|
||
});
|
||
});
|
||
|
||
// tag标签
|
||
$(function(){
|
||
//1.渲染标签
|
||
var addTags = xmSelect.render({
|
||
el: '#tag',
|
||
name: 'tagid',
|
||
layVerify: '',
|
||
layVerType: 'msg',
|
||
paging: true,
|
||
pageSize: 5,
|
||
data: []
|
||
});
|
||
//2.动态赋值
|
||
$.get("{:url('get_art_tag')}",{id:artId},function(res){
|
||
if(res.code == 0){
|
||
addTags.setValue(
|
||
res.data
|
||
)
|
||
}
|
||
});
|
||
//3.动态标签赋值
|
||
$.get("{:url('get_all_tag')}",function(res){
|
||
if(res.code == 0){
|
||
addTags.update({
|
||
data: res.data,
|
||
autoRow: true,
|
||
})
|
||
}
|
||
});
|
||
})
|
||
|
||
</script>
|
||
<script>
|
||
layui.use(['fly','plyr'], function(){
|
||
var $ = layui.jquery
|
||
,fly = layui.fly
|
||
,colorpicker = layui.colorpicker
|
||
,form = layui.form
|
||
,upload = layui.upload
|
||
,plyr = layui.plyr;
|
||
|
||
//获取百度标签标志,tag或者word;
|
||
var flag = 'word';
|
||
|
||
|
||
//如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
|
||
var taonystatus = "{:hook('taonystatus')}";
|
||
// 编辑器插件启用状态
|
||
var isShow = taonystatus ? false : true;
|
||
if(isShow) {
|
||
$('.layui-textarea').each(function(){
|
||
var othis = $(this), html = othis.html();
|
||
othis.attr(fly.content(html));
|
||
})
|
||
}
|
||
|
||
// 通过标题内容自动获取tag的内容
|
||
var conf = "{:empty(config('taoler.baidu.client_id'))}";
|
||
if(conf !== '1'){
|
||
$("#L_title").on('blur', function(){
|
||
var title = $(this).val();
|
||
var content = $("#L_content").val();
|
||
getBdiduWords(flag,title,content);
|
||
})
|
||
}
|
||
|
||
// 从详情页自动调用端口过滤,获取描述信息
|
||
$("#L_content").bind('input propertychange', function(){
|
||
var content = $(this).val()
|
||
var title = $("#L_title").val();
|
||
$.post("{:url('article/getDescription')}", { content: content }, function(data){
|
||
if (data.code == 0) {
|
||
$('[name="description"]').val(data.data);
|
||
}
|
||
});
|
||
getBdiduWords(flag,title,content);
|
||
})
|
||
|
||
// 获取百度分词接口的关键词
|
||
function getBdiduWords(flag,title,content) {
|
||
console.log(flag,title,content)
|
||
$.post("{:url('article/keywords')}",{ keywords: title, content:content, flag: flag }, function (res) {
|
||
if (res.code == 0) {
|
||
console.log(res.data)
|
||
$("input[name='keywords']").val(res.data.join(','));
|
||
}
|
||
},
|
||
)
|
||
}
|
||
|
||
// 百度词条
|
||
(function(){
|
||
var baidu_title_switch = "{:config('taoler.config.baidu_title_switch')}";
|
||
if(baidu_title_switch == 1) {
|
||
$("#L_title").bind('input propertychange',function () {
|
||
var title = $(this).val();
|
||
var str = '';
|
||
if(title.length > 0 ) {
|
||
$.post("{:url('article/getWordList')}",{title:title},function(res){
|
||
// 动态生成ur>li内容
|
||
if (res.code == 0) {
|
||
// 显示动态框
|
||
$(".bdsug").removeClass('layui-hide');
|
||
for (var i = 0; i < res.data.length; i++) {
|
||
//str += '<li data-key=' + res.data[i].q + '><b>' + res.data[i].q.replace(title,'') + '</b></li>';
|
||
str += '<li data-key=' + res.data[i].q + '><b>' + res.data[i].q + '</b></li>';
|
||
}
|
||
// 清空ul并追加li
|
||
$('.wordlist').empty().append(str);
|
||
// 点击李获取li值并复制给#L_title input的value
|
||
$(".bdsug li").on('click',function(){
|
||
var word = $(this).attr('data-key');
|
||
var words = title + '(' + word + ')';
|
||
$("#L_title").val(words);
|
||
// 关闭动态框
|
||
$(".bdsug").addClass('layui-hide');
|
||
});
|
||
} else {
|
||
$(".bdsug").addClass('layui-hide');
|
||
}
|
||
});
|
||
} else {
|
||
$(".bdsug").addClass('layui-hide');
|
||
}
|
||
});
|
||
}
|
||
}())
|
||
|
||
//关闭百度词条
|
||
$(function(){
|
||
$(".bdsug").mouseleave(function(){
|
||
$(this).addClass('layui-hide');
|
||
// $("#LAY_ucm").click(function(){
|
||
// $(this).addClass('layui-hide');
|
||
// });
|
||
});
|
||
});
|
||
|
||
//编辑文章
|
||
form.on('submit(article-edit)', function(data){
|
||
var field = data.field;
|
||
$.ajax({
|
||
type:"post",
|
||
url:"{:url('article/edit')}",
|
||
data: field,
|
||
daType:"json",
|
||
success:function (data){
|
||
if (data.code == 0) {
|
||
layer.msg(data.msg,{icon:6,time:2000}, function(){
|
||
location.href = data.url;
|
||
});
|
||
} else {
|
||
layer.open({title:'编辑失败',content:data.msg,icon:5,anim:6});
|
||
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
|
||
};
|
||
}
|
||
});
|
||
return false;
|
||
});
|
||
|
||
//预定义颜色项
|
||
colorpicker.render({
|
||
elem: '#color'
|
||
,color: "{$article.title_color ?? '#333'}"
|
||
,predefine: true // 开启预定义颜色
|
||
,done: function(color){
|
||
//console.log(color);
|
||
//譬如你可以在回调中把得到的 color 赋值给表单
|
||
$('#L_title_color').val(color);
|
||
//改变标题颜色
|
||
$('#L_title').css("color", color);
|
||
}
|
||
});
|
||
|
||
//指定允许上传的文件类型
|
||
upload.render({
|
||
elem: '#zip-button'
|
||
,url: "{:url('article/uploads')}" //改成您自己的上传接口
|
||
,data: {type:'zip'}
|
||
,accept: 'file' //普通文件
|
||
,done: function(res){
|
||
if(res.status == 0){
|
||
$('input[name="upzip"]').val(res.url);
|
||
layer.msg('上传成功');
|
||
} else {
|
||
layer.msg(res.msg);
|
||
}
|
||
}
|
||
});
|
||
|
||
//加载播放器
|
||
plyr.setup();
|
||
|
||
});
|
||
</script>
|
||
{/block} |