262 lines
9.5 KiB
HTML
262 lines
9.5 KiB
HTML
{extend name="public/base" /}
|
|
{block name="title"}发表帖子{/block}
|
|
{block name="link"} {/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('add post')}<!-- 编辑帖子 --></li>
|
|
</ul>
|
|
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0">
|
|
<div class="layui-tab-item layui-show">
|
|
{if config('taoler.config.is_post') == 1}
|
|
<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" style="position:relative;" value=""/>
|
|
<input type="hidden" id="L_title_color" name="title_color" autocomplete="off" class="layui-input" />
|
|
</div>
|
|
</div>
|
|
{if ($user.auth == 1)}
|
|
<div class="layui-col-md1">
|
|
<div id="color"></div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
|
|
<div class="layui-row layui-col-space15 layui-form-item" id="LAY_quiz">
|
|
<div class="layui-col-md3">
|
|
<label class="layui-form-label">阅读权限</label>
|
|
<div class="layui-input-block">
|
|
<select name="read_type">
|
|
<option value="0">开放阅读</option>
|
|
<option value="1">密码加密</option>
|
|
<option value="2">回帖阅读</option>
|
|
<option value="3">购买阅读</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="art_pass" 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="{:lang('please input the content')}" class="layui-textarea taonyeditor"></textarea>
|
|
</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="" placeholder="zip,image" title="上传附件" />
|
|
</div>
|
|
<button type="button" class="layui-btn" id="zip-button"><i class="layui-icon"></i>{:lang('uploads')}</button>
|
|
</div>
|
|
</div>
|
|
{//描述}
|
|
<div class="layui-form-item layui-hide">
|
|
<label class="layui-form-label">{:lang('description')}</label>
|
|
<div class="layui-input-block">
|
|
<textarea name="description" class="layui-textarea" placeholder="SEO {:lang('description')}"></textarea>
|
|
</div>
|
|
</div>
|
|
{//关键词}
|
|
<div class="layui-form-item layui-hide">
|
|
<label class="layui-form-label">{:lang('add keywords')}</label>
|
|
<div class="layui-input-block">
|
|
<!-- <input type="text" class="layui-input" name="" id="inputTags" value="" placeholder="多个回车添加" title="添加关键词" /> -->
|
|
<input type="text" class="layui-input" name="keywords" value="" placeholder="多个用逗号隔开" title="{:lang('add keywords')}" />
|
|
</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-add" lay-submit id="add">{:lang('post now')}</button>
|
|
</div>
|
|
</div>
|
|
{else /}
|
|
<div class="layui-form-item">抱歉,系统维护中,暂时禁止发帖!</div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{include file="public/menu" /}
|
|
{/block}
|
|
|
|
{block name="script"}
|
|
<script src="/static/xm-select.js"></script>
|
|
<script>
|
|
let taonystatus = "{:hook('taonystatus') ? 1 : 0} ";
|
|
|
|
layui.use(['fly'], function () {
|
|
var $ = layui.jquery,
|
|
fly = layui.fly,
|
|
form = layui.form,
|
|
colorpicker = layui.colorpicker,
|
|
upload = layui.upload;
|
|
|
|
//如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
|
|
// 编辑器插件启用状态
|
|
if(taonystatus == 0) {
|
|
$('.layui-textarea').each(function(){
|
|
var othis = $(this), html = othis.html();
|
|
othis.attr(fly.content(html));
|
|
})
|
|
}
|
|
|
|
// 分类选择
|
|
$.get("{:url('article/getCateTree')}",function(res){
|
|
var cid = "{$cid}";
|
|
// 渲染下拉树
|
|
xmSelect.render({
|
|
el: '#CateId',
|
|
name: 'cate_id',
|
|
height: '250px',
|
|
layVerify: 'required',
|
|
layVerType: 'tips',
|
|
data: res.data,
|
|
initValue: [cid],
|
|
model: {label: {type: 'text'}},
|
|
prop: {
|
|
name: 'catename',
|
|
value: 'id'
|
|
},
|
|
radio: true,
|
|
clickClose: true,
|
|
tree: {
|
|
show: true,
|
|
indent: 15,
|
|
strict: false,
|
|
expandedKeys: false
|
|
},
|
|
tips: '请选择'
|
|
});
|
|
});
|
|
|
|
// tag标签
|
|
$(function(){
|
|
//1.渲染标签
|
|
var addTags = xmSelect.render({
|
|
el: '#tag',
|
|
name: 'tagid',
|
|
layVerify: '',
|
|
layVerType: 'msg',
|
|
paging: true,
|
|
pageSize: 5,
|
|
data: []
|
|
});
|
|
//2.动态标签赋值
|
|
$.get("{:url('get_all_tag')}",function(res){
|
|
if(res.code === 0){
|
|
addTags.update({
|
|
data: res.data,
|
|
autoRow: true,
|
|
})
|
|
}
|
|
});
|
|
});
|
|
|
|
// 改变标题颜色
|
|
colorpicker.render({
|
|
elem: "#color",
|
|
color: "#393d49",
|
|
predefine: true, // 开启预定义颜色
|
|
done: function (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",
|
|
before: function(obj){
|
|
layer.load(0);
|
|
},
|
|
done: function (res) {
|
|
layer.closeAll('loading');
|
|
if (res.status === 0) {
|
|
$('input[name="upzip"]').val(res.url);
|
|
layer.msg("上传成功");
|
|
} else {
|
|
layer.msg(res.msg);
|
|
}
|
|
},
|
|
});
|
|
|
|
// 发布文章
|
|
form.on("submit(article-add)", function (data) {
|
|
var field = data.field;
|
|
var loadIndex = layer.load(2);
|
|
$.ajax({
|
|
type: "post",
|
|
url: "{:url('article/add')}",
|
|
data: field,
|
|
dataType: "json",
|
|
success: function (res) {
|
|
layer.close(loadIndex);
|
|
if (res.code === 0) {
|
|
toast.success({title:"成功消息",message: res.msg});
|
|
location.href = res.url;
|
|
} else {
|
|
toast.error({title:"失败消息",message:res.msg});
|
|
$("#captcha").attr("src", "{:captcha_src()}?" + Math.random());
|
|
}
|
|
layer.close(index);
|
|
},
|
|
});
|
|
return false;
|
|
});
|
|
|
|
});
|
|
</script>
|
|
{// 编辑器}
|
|
{:hook('taonyeditor')}
|
|
{:hook('ueditor')}
|
|
{// 百度标题词条}
|
|
{:hook('seoBaiduTitle')}
|
|
{// 百度关键词}
|
|
{:hook('seoBaiduKeywords')}
|
|
|
|
{/block}
|