2022-04-17 17:09:19 +08:00
|
|
|
|
{extend name="public/base" /}
|
2022-08-16 15:21:08 +08:00
|
|
|
|
{block name="title"}{$article.title} - {$sysInfo.webname}{/block}
|
2022-08-16 15:29:04 +08:00
|
|
|
|
{block name="keywords"}{$article.keywords ?: $article.title}{/block}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
{block name="description"}{$article.title},{$article.description ?? ''}{/block}
|
2022-08-16 15:21:08 +08:00
|
|
|
|
{block name="ogtitle"}<meta property="og:title" content="{$article.title} - {$sysInfo.webname}">{/block}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
{block name="ogdescription"}<meta property="og:description" content="{$article.title},{$article.description ?? ''}" />{/block}
|
|
|
|
|
{block name="meta"}
|
2022-08-16 15:21:08 +08:00
|
|
|
|
<meta property="og:type" content="article"/>
|
2022-08-02 21:13:36 +08:00
|
|
|
|
<meta property="article:published_time" content="{$article.create_time|date='c'}"/>
|
|
|
|
|
<meta property="bytedance:published_time" content="{$article.create_time|date='c'}" />
|
|
|
|
|
<meta property="bytedance:updated_time" content="{$article.update_time|date='c'}" />
|
|
|
|
|
{/block}
|
2022-08-02 20:47:28 +08:00
|
|
|
|
{block name="link"}<link rel="stylesheet" href="{$Request.domain}/static/res/css/plyr.css" charset="utf-8">{/block}
|
2022-04-17 17:09:19 +08:00
|
|
|
|
{block name="column"}<div class="layui-hide-xs">{include file="/public/column" /}</div>{/block}
|
|
|
|
|
{block name="content"}
|
|
|
|
|
<div class="layui-container">
|
|
|
|
|
<div class="layui-row layui-col-space15">
|
|
|
|
|
<div class="layui-col-md12 content detail">
|
|
|
|
|
<div class="fly-panel detail-box">
|
|
|
|
|
{//标题}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
<h1 style="color:{$article.title_color ?? '#333'}; margin:10px 5px 15px 5px;" align="center">{$article.title}</h1>
|
2022-08-02 18:46:05 +08:00
|
|
|
|
|
2022-04-17 17:09:19 +08:00
|
|
|
|
{//作者}
|
2022-08-02 18:46:05 +08:00
|
|
|
|
<div class="detail-about" align="center">
|
|
|
|
|
<div class="detail-hits" style="left:-30px;">
|
2022-08-02 21:13:36 +08:00
|
|
|
|
<span>{$article.cate.catename} /</span>
|
2022-08-02 18:46:05 +08:00
|
|
|
|
<span>{$article.user.name} /</span>
|
|
|
|
|
<span class="post-time" style="padding-top: 5px;" data="{$article.create_time}">{$article.create_time}</span>
|
|
|
|
|
<span>/ <i class="iconfont" title="浏览"></i> {$pv}</span>
|
2022-04-17 17:09:19 +08:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-08-02 18:46:05 +08:00
|
|
|
|
<hr style="margin-bottom: 25px">
|
2022-04-17 17:09:19 +08:00
|
|
|
|
{// 内容}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
<div class="detail-body photos" style="font-size: 18px;line-height: 200%;" id="content">{$article.content|raw}</div>
|
2022-09-07 15:24:25 +08:00
|
|
|
|
{if (($article.upzip !== '') || session('?user_name'))}
|
|
|
|
|
<div class="">
|
|
|
|
|
{notempty name="$article.upzip"}
|
|
|
|
|
<button type="button" class="layui-btn layui-btn-xs" id="zip-download"><i class="layui-icon layui-icon-download-circle"></i>{:lang('download files')}: {$article.downloads}次</button>
|
|
|
|
|
{/notempty}
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
<div style="margin-top: 25px;">本文链接:<a href="{$Request.domain}{$Request.url}">{$Request.domain}{$Request.url}</a></div>
|
2022-09-07 15:20:00 +08:00
|
|
|
|
{notempty name="tags"}
|
2022-08-16 15:29:04 +08:00
|
|
|
|
<div style="margin-top: 15px">标签
|
|
|
|
|
{volist name="tags" id="vo" }
|
|
|
|
|
<a href="{$vo.url}"><span class="layui-btn layui-btn-xs layui-btn-normal layui-btn-radius">{$vo.name}</span></a>
|
|
|
|
|
{/volist}
|
|
|
|
|
</div>
|
2022-09-07 15:20:00 +08:00
|
|
|
|
{/notempty}
|
2022-08-02 20:47:28 +08:00
|
|
|
|
<div style="margin: 20px 0px 15px 0px; color: rgb(130, 125, 125);">
|
|
|
|
|
<p>{$sysInfo.state}</p>
|
|
|
|
|
</div>
|
2022-08-02 18:49:40 +08:00
|
|
|
|
</div>
|
2022-08-02 21:13:36 +08:00
|
|
|
|
</div>
|
2022-08-16 15:21:08 +08:00
|
|
|
|
{//crud管理模块}
|
|
|
|
|
{include file="/public/crud" /}
|
2022-04-17 17:09:19 +08:00
|
|
|
|
</div>
|
|
|
|
|
<!--底部栏-->
|
|
|
|
|
<div class="site-tree-mobile-detail-bottom layui-hide-md">
|
|
|
|
|
<div id="LAY_jieAdmin1" data-id="{$article['id']}"></div>
|
2022-08-02 21:13:36 +08:00
|
|
|
|
</div>
|
2022-04-17 17:09:19 +08:00
|
|
|
|
</div>
|
|
|
|
|
{include file="public/menu" /}
|
|
|
|
|
{/block}
|
|
|
|
|
|
|
|
|
|
{block name="script"}
|
2022-08-02 21:13:36 +08:00
|
|
|
|
{:hook('taonyeditor')}
|
2022-04-17 17:09:19 +08:00
|
|
|
|
<script>
|
2022-08-02 21:13:36 +08:00
|
|
|
|
var collectionFind = "{:url('Collection/find')}",
|
|
|
|
|
collection = "{:url('collection/')}",
|
|
|
|
|
articleJieset = "{:url('Article/jieset')}",
|
|
|
|
|
articleDelete = "{:url('Article/delete')}",
|
|
|
|
|
commentJiedaZan = "{:url('Comment/jiedaZan')}",
|
|
|
|
|
commentJiedaCai = "{:url('Comment/jiedaCai')}",
|
|
|
|
|
commentGetDa = "{:url('Comment/getDa')}",
|
|
|
|
|
commentUpdateDa = "{:url('Comment/updateDa')}",
|
|
|
|
|
commentJiedaDelete = "{:url('Comment/jiedaDelete')}",
|
|
|
|
|
langCollection = "{:lang('collection')}",
|
2022-04-17 17:09:19 +08:00
|
|
|
|
langCancelCollection = "{:lang('cancel collection')}";
|
2022-08-02 21:13:36 +08:00
|
|
|
|
|
|
|
|
|
layui.use(['fly', 'face','colorpicker','plyr', 'laypage'], function(){
|
2022-04-17 17:09:19 +08:00
|
|
|
|
var $ = layui.jquery
|
2022-08-02 21:13:36 +08:00
|
|
|
|
,form = layui.form
|
|
|
|
|
,fly = layui.fly
|
|
|
|
|
,colorpicker = layui.colorpicker
|
|
|
|
|
,plyr = layui.plyr
|
|
|
|
|
,laytpl = layui.laytpl
|
|
|
|
|
,uid = layui.cache.user.uid
|
|
|
|
|
,laypage = layui.laypage;
|
|
|
|
|
|
|
|
|
|
//如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
|
|
|
|
|
var taonystatus = "{:hook('taonystatus')}";
|
|
|
|
|
// 编辑器插件启用状态
|
|
|
|
|
var isShow = taonystatus ? false : true;
|
|
|
|
|
if(isShow) {
|
|
|
|
|
$('.detail-body').each(function(){
|
|
|
|
|
var othis = $(this), html = othis.html();
|
|
|
|
|
othis.html(fly.content(html));
|
|
|
|
|
});
|
|
|
|
|
}
|
2022-04-17 17:09:19 +08:00
|
|
|
|
|
|
|
|
|
//tpl模板给发布时间赋值
|
|
|
|
|
$('div.detail-hits').children('span.post-time').each(function(){
|
|
|
|
|
var othis = $(this), html = othis.html();
|
2022-08-02 18:49:40 +08:00
|
|
|
|
var string = laytpl('{{ d.time }}').render({
|
2022-04-17 17:09:19 +08:00
|
|
|
|
//time: html
|
|
|
|
|
time: othis.attr('data')
|
|
|
|
|
});
|
|
|
|
|
var posttime = layui.util.timeAgo(string, 1);
|
|
|
|
|
|
|
|
|
|
othis.text(posttime);
|
|
|
|
|
//console.log(othis.attr('data'));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//预定义颜色项
|
|
|
|
|
colorpicker.render({
|
|
|
|
|
elem: '#color'
|
|
|
|
|
,color: '#393d49'
|
|
|
|
|
,predefine: true // 开启预定义颜色
|
|
|
|
|
,size: 'xs'
|
|
|
|
|
,done: function(color){
|
|
|
|
|
//改变标题颜色
|
|
|
|
|
$('h1').css("color", color);
|
|
|
|
|
var id = "{$article.id}";
|
|
|
|
|
$.ajax({
|
|
|
|
|
type:'post',
|
|
|
|
|
url:"{:url('Article/titleColor')}",
|
|
|
|
|
data:{id: id,title_color: color},
|
|
|
|
|
dataType:'json',
|
|
|
|
|
success:function(data){
|
|
|
|
|
if(data.code == 0){
|
|
|
|
|
layer.msg(data.msg,{icon:6,time:2000
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
layer.open({content:data.msg,icon:5,adim:6});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//评论需要登陆
|
|
|
|
|
form.on('submit(user-comment)',function (data){
|
|
|
|
|
var index = layer.load(1);
|
|
|
|
|
var filed = data.field;
|
|
|
|
|
if (uid == -1) {
|
|
|
|
|
layer.msg('请先登陆',{icon:5,time:2000},function(){
|
|
|
|
|
location.href = "{:url('login/index')}";
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
$.ajax({
|
|
|
|
|
type: "post",
|
|
|
|
|
url: "{:url('article/comment')}",
|
|
|
|
|
data: filed,
|
|
|
|
|
dataType: "json",
|
|
|
|
|
success:function (data) {
|
|
|
|
|
if (data.code == 0) {
|
|
|
|
|
layer.msg(data.msg,{icon:6,time:2000},function () {
|
|
|
|
|
location.reload(true);
|
|
|
|
|
});
|
|
|
|
|
}else {
|
|
|
|
|
layer.open({title:'评论失败',content:data.msg,icon:5,anim:6});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//执行一个laypage实例
|
|
|
|
|
laypage.render({
|
|
|
|
|
elem: 'pages' //注意,这里的 test1 是 ID,不用加 # 号
|
|
|
|
|
,count: "{$article.comments_count}" //数据总数,从服务端得到
|
|
|
|
|
,limit: 10
|
|
|
|
|
,curr : {$page}
|
|
|
|
|
|
|
|
|
|
//获取起始页
|
|
|
|
|
,jump: function(obj, first){
|
|
|
|
|
//首次不执行
|
|
|
|
|
if(!first){
|
|
|
|
|
var page = obj.curr;
|
2022-08-02 18:46:05 +08:00
|
|
|
|
var url = "{:url('article/detail',['id'=>$article.id])}";
|
|
|
|
|
var id = "{$article.id}";
|
2022-04-17 17:09:19 +08:00
|
|
|
|
$.post("{:url('article/detail')}",{"id":id,"page":page},function(){
|
|
|
|
|
window.location.href = url + '?page=' + page + '#flyReply';
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//下载
|
|
|
|
|
$('#zip-download').click(function (){
|
|
|
|
|
var id = "{$article.id}";
|
|
|
|
|
$.ajax({
|
|
|
|
|
type:"post",
|
|
|
|
|
url:"{:url('article/download')}",
|
|
|
|
|
data:{id:id},
|
|
|
|
|
success:function (data) {
|
|
|
|
|
location.href = "{:url('article/download',['id'=>$article.id])}";
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
2022-08-02 21:13:36 +08:00
|
|
|
|
|
2022-04-17 17:09:19 +08:00
|
|
|
|
plyr.setup();
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
2022-08-16 15:21:08 +08:00
|
|
|
|
{//图片点击放大}
|
|
|
|
|
{include file="/public/images-click" /}
|
2022-04-17 17:09:19 +08:00
|
|
|
|
{:hook('markdownhook')}
|
|
|
|
|
|
2022-08-02 18:46:05 +08:00
|
|
|
|
{volist name="push_js" id="vo"}
|
|
|
|
|
{$vo.jscode|raw}
|
|
|
|
|
{/volist}
|
|
|
|
|
|
2022-04-17 17:09:19 +08:00
|
|
|
|
{/block}
|