TaoLer/view/taoler/index/article/ask/detail.html

462 lines
18 KiB
HTML
Raw Normal View History

2021-08-03 17:33:48 +08:00
{extend name="public/base" /}
2022-08-02 21:13:36 +08:00
{block name="title"}{$article.title}-{$sysInfo.webname}{/block}
{block name="keywords"}{$article.tags ?: $article.title}{/block}
{block name="description"}{$article.title},{$article.description ?? ''}{/block}
{block name="ogtitle"}<meta property="og:title" content="{$article.title}-{$sysInfo.webname}"/>{/block}
{block name="ogdescription"}<meta property="og:description" content="{$article.title},{$article.description ?? ''}" />{/block}
{block name="meta"}
<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:lrDate_time" content="{$lrDate_time|date='c'}" />
<meta property="bytedance:updated_time" content="{$article.update_time|date='c'}" />
{/block}
{block name="link"}<link rel="stylesheet" href="{$Request.domain}/static/res/css/plyr.css" charset="utf-8"/>{/block}
2021-08-03 17:33:48 +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">
2021-12-06 15:50:11 +08:00
<div class="layui-col-md9 content detail">
2021-08-03 17:33:48 +08:00
<div class="fly-panel detail-box">
2022-04-17 17:09:19 +08:00
{//标题}
2022-08-02 21:13:36 +08:00
<div class="title layui-clear"><h1 style="color:{$article.title_color ?? '#333'};">{$article.title}</h1></div>
2022-04-17 17:09:19 +08:00
<div class="detail_qrcode layui-hide-xs" onclick="PhoneDown();" id="mobile"></div>
2022-08-02 21:13:36 +08:00
2022-04-17 17:09:19 +08:00
{//图标}
<div class="user-questions">
2022-08-02 20:47:28 +08:00
<a class="user-avatar" href="{$Request.domain}{:url('user/home',['id'=>$article.user.id])}">
2022-08-02 21:13:36 +08:00
<img src="{$Request.domain}{$article.user.user_img}" alt="{$article.user.name}" />
<cite>{$article.user.nickname ?: $article.user.name} / </cite>
2022-04-17 17:09:19 +08:00
</a>
2022-08-02 21:13:36 +08:00
<span class="user-post-time" data="{$article.create_time}" style="padding-top: 5px"></span>
2022-04-17 17:09:19 +08:00
/ <i class="iconfont" title="{:lang('reply')}">&#xe60c;</i> {$article.comments_count} / <i class="iconfont" title="浏览">&#xe60b;</i> {$pv}
2022-08-02 21:13:36 +08:00
{if ($article.jie == 0) }
<span class="layui-btn layui-btn-xs" style="background-color: #ff5722">{:lang('no finished')}</span>
2022-04-17 17:09:19 +08:00
{else /}
2022-08-02 21:13:36 +08:00
<span class="layui-btn layui-btn-xs" style="background-color: #009688">{:lang('finished')}</span>
2022-04-17 17:09:19 +08:00
{/if}
2022-08-02 21:13:36 +08:00
<span id="LAY_jieAdmin" data-id="{$article['id']}"></span>
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
<hr class="layui-border-green" />
2022-04-17 17:09:19 +08:00
{//问题内容}
2022-08-02 21:13:36 +08:00
<div style="margin-top: 15px; font-size: 18px; font-weight: bold; color: rgb(130, 125, 125)">问题描述:</div>
<hr />
<div class="detail-body-wenda photos" id="content">{$article.content|raw}</div>
<div style="margin-top: 25px">本文链接:<a href="{$Request.domain}{$Request.url}">{$Request.domain}{$Request.url}</a></div>
2022-08-02 20:47:28 +08:00
<div style="margin-top: 15px">
2022-08-02 21:13:36 +08:00
<h3>关键词</h3>
<div class="layui-btn-container" style="padding-top: 15px">
2022-08-02 20:47:28 +08:00
{volist name="tags" id="vo" }
2022-08-02 21:13:36 +08:00
<a href="{:url('tag_list',['tag'=>$vo.pinyin])}"><span class="layui-btn layui-btn-sm layui-btn-radius layui-btn-danger">{$vo.tag}</span></a>
2022-08-02 20:47:28 +08:00
{/volist}
</div>
</div>
2022-08-02 21:13:36 +08:00
<div style="margin: 20px 0px 15px 0px; color: rgb(130, 125, 125)">
<p>{$sysInfo.state}</p>
2022-08-02 20:47:28 +08:00
</div>
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
{//评论区}
2022-08-02 21:13:36 +08:00
{if ( config('taoler.config.is_reply') == 1 ) AND ( $article.is_reply == 1 )}
2022-04-17 17:09:19 +08:00
<div class="layui-form layui-form-pane">
<div class="layui-form-item layui-form-text">
<a name="comment"></a>
<div class="layui-input-block">
2022-08-02 21:13:36 +08:00
<textarea id="L_content" name="content" required lay-verify="required" placeholder="{:lang('please input the content')}" class="layui-textarea fly-editor" style="height: 150px"></textarea>
2022-04-17 17:09:19 +08:00
</div>
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
<div class="layui-form-item que-comments">
2022-08-02 21:13:36 +08:00
<input type="hidden" name="article_id" value="{$article.id}" />
<input type="hidden" name="user_id" value="{:session('user_id')}" />
2022-04-17 17:09:19 +08:00
<button class="layui-btn layui-btn-danger" lay-filter="user-comment" lay-submit>{:lang('submit comments')}</button>
</div>
</div>
{/if}
2022-08-02 21:13:36 +08:00
2022-04-17 17:09:19 +08:00
{//评论内容}
2021-08-03 17:33:48 +08:00
<div class="fly-panel detail-box" id="flyReply">
2022-08-02 21:13:36 +08:00
<span style="font-size: 18px">评论 {$article.comments_count}</span>
2021-08-03 17:33:48 +08:00
<ul class="jieda" id="jieda">
2022-08-02 21:13:36 +08:00
{volist name="comments" id="vo" empty= ""}
2021-08-03 17:33:48 +08:00
<li data-id="{$vo.id}" class="jieda-daan">
<a name="item-1111111111"></a>
<div class="detail-about detail-about-reply">
2022-08-02 20:47:28 +08:00
<a class="fly-avatar" href="{$Request.domain}{:url('user/home',['id'=>$vo.user.id])}">
2022-08-02 21:13:36 +08:00
<img src="{$Request.domain}{$vo.user.user_img}" alt=" " />{if($vo.user.vip > 0)}<i class="iconfont icon-renzheng" title="认证信息"></i>{/if}
2021-08-03 17:33:48 +08:00
</a>
<div class="fly-detail-user">
2022-08-02 20:47:28 +08:00
<a href="{$Request.domain}{:url('user/home',['id'=>$vo.user.id])}" class="fly-link">
2022-08-02 21:13:36 +08:00
<cite>{$vo.user.nickname ?: $vo.user.name}</cite>
2021-08-03 17:33:48 +08:00
</a>
{if condition="$article.user.id eq $vo.user.id"}<span>({:lang('poster')})</span>{/if}
</div>
2022-08-02 21:13:36 +08:00
<div class="detail-hits"><span class="post-time" data="{$vo.create_time}"></span><span>{$vo.user.city}</span></div>
{if $vo.cai == 1}<i class="iconfont icon-caina" title="最佳答案"></i>{/if}
2021-08-03 17:33:48 +08:00
</div>
2022-08-02 21:13:36 +08:00
<div class="detail-body jieda-body photos">{$vo.content|raw}</div>
2021-08-03 17:33:48 +08:00
<div class="jieda-reply">
2022-08-02 21:13:36 +08:00
<span class="jieda-zan {if($vo.zan != 0)}zanok{/if}" type="zan"><i class="iconfont icon-zan"></i><em>{$vo.zan}</em></span>
2021-08-03 17:33:48 +08:00
<span type="reply"><i class="iconfont icon-svgmoban53"></i>{:lang('reply')}</span>
2022-08-02 21:13:36 +08:00
{//评论 编辑/删除/采纳/权限}
2021-08-03 17:33:48 +08:00
<div class="jieda-admin">
2022-08-02 21:13:36 +08:00
{if ((session('user_id') == $vo.user.id) && (getLimtTime($vo.create_time) < 2)) OR ($user.auth ?? '')}
2022-04-17 17:09:19 +08:00
<span type="edit">{:lang('edit')}</span>
2022-08-02 21:13:36 +08:00
<span type="del">{:lang('delete')}</span>
{/if} {if ($vo.cai == 0) && ((session('user_id') == $article.user_id) OR ($user.auth ?? '')) && ($article.jie == 0)/}
2022-04-17 17:09:19 +08:00
<span class="jieda-accept" type="accept">{:lang('accept')}</span>
{/if}
2021-08-03 17:33:48 +08:00
</div>
</div>
2022-08-02 21:13:36 +08:00
<div style="margin: 5px 0px;">
<hr width="90%" style="border:1px dotted red;height:1px" />
<div style="padding: 10px 0px">{$vo.user.sign|raw}</div>
</div>
2021-08-03 17:33:48 +08:00
</li>
2022-08-02 21:13:36 +08:00
{/volist}
2021-08-03 17:33:48 +08:00
</ul>
2022-01-07 14:43:42 +08:00
<div style="text-align: center" id="pages"></div>
2021-08-03 17:33:48 +08:00
</div>
</div>
2022-04-17 17:09:19 +08:00
{// 右栏}
2021-12-06 15:50:11 +08:00
<div class="layui-col-md3">
2022-08-02 21:13:36 +08:00
<div class="fly-panel">
2022-04-17 17:09:19 +08:00
<div class="fly-panel-main wenda-user">
<div class="user-img">
2022-08-02 20:47:28 +08:00
<a href="{$Request.domain}{:url('user/home',['id'=>$article.user.id])}">
2022-08-02 21:13:36 +08:00
<img class="" src="{$Request.domain}{$article.user.user_img}" alt="{$article.user.name}" />
{if($article.user.vip > 0)}<i class="iconfont icon-renzheng" title="认证信息"></i>{/if}
2022-04-17 17:09:19 +08:00
</a>
</div>
<div class="questions">
2022-08-02 21:13:36 +08:00
<span class="layui-badge layui-bg-green">回答 {$article.user.comments_count}</span> <span class="layui-badge layui-bg-green">提问 {$article.user.article_count}</span>
<span class="layui-badge layui-bg-green">+ 关注</span>
2022-04-17 17:09:19 +08:00
</div>
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
{if showSlider(7)}
2022-04-17 17:09:19 +08:00
<div class="fly-panel">
2022-08-02 21:13:36 +08:00
<div class="fly-panel-title">{:lang('sponsor')}<span style="padding: 0 3px">-</span>
2022-04-17 17:09:19 +08:00
<a href="" class="fly-link fly-joinad">{:lang('i want to join')}</a>
</div>
<div class="fly-panel-main">
{volist name="ad_comm" id="vo"}
<a href="{$vo.slid_href}" target="_blank" rel="nofollow" class="fly-zanzhu" style="background-color:{$vo.slid_color};">{$vo.slid_name}</a>
{/volist}
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
{/if}
2022-04-17 17:09:19 +08:00
<dl class="fly-panel fly-list-one">
2022-08-02 21:13:36 +08:00
<dt class="fly-panel-title">{:lang('hot post list')}</dt>
{volist name="artHot" id="vo"}
<dd>
<a href="{$Request.domain}{$vo.url}">{$vo.title}</a>
<span><i class="iconfont icon-pinglun1"></i> {$vo.comments_count}</span>
</dd>
{/volist}
2022-04-17 17:09:19 +08:00
</dl>
2022-08-02 21:13:36 +08:00
{if showSlider(4)}
<div class="fly-panel" style="padding: 5px 0; text-align: center">
2021-08-03 17:33:48 +08:00
{volist name="ad_art" id="vo"}
2022-08-02 21:13:36 +08:00
<a href="{$vo.slid_href}" target="_blank"><img src="{$Request.domain}/{$vo.slid_img}" style="max-width: 100%" /></a>
2021-08-03 17:33:48 +08:00
{/volist}
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
{/if}
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
2022-08-02 21:13:36 +08:00
{//帖子管理}
{if (($article.upzip !== '') || (session('user_id')==$article.user_id) OR ($user.auth ?? ''))}
<div class="detail-assist">
{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 class="fly-admin-box" data-id="{$article.id}">
{if ($user.auth ?? '')}
{article:istop}
{if($article.is_hot == 0)}
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="hot" rank="1" style="background-color: #ccc" title="加精"></span>
{else /}
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="hot" rank="0" title="取消加精"></span>
{/if}
{if($article.is_reply == 1)}
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="reply" rank="0" title="禁评"></span>
{else /}
<span class="layui-btn layui-btn-xs jie-admin" type="set" field="reply" rank="1" style="background-color: #ccc" title="可评"></span>
{/if}
<span id="color">{:lang('title color')}</span>
<span class="layui-btn layui-btn-xs jie-admin" type="del" title="删除"><i class="layui-icon layui-icon-delete"></i></span>
{/if}
{if(session('user_name')==$article.user.name || ($user.auth ?? ''))}
<a class="layui-btn layui-btn-xs" href="{$Request.domain}{:url('article/edit',['id'=>$article.id])}" title="编辑"><i class="layui-icon layui-icon-edit"></i></a>
{/if}
</div>
</div>
{/if}
2021-08-03 17:33:48 +08:00
</div>
2022-04-17 17:09:19 +08:00
<!--底部栏-->
2022-08-02 21:13:36 +08:00
<div class="site-tree-mobile-detail-bottom layui-hide-md">
<div id="LAY_jieAdmin1" data-id="{$article['id']}"></div>
</div>
2021-08-03 17:33:48 +08:00
</div>
2022-08-02 21:13:36 +08:00
{include file="public/menu" /} {/block}
2021-08-03 17:33:48 +08:00
{block name="script"}
2022-08-02 21:13:36 +08:00
{:hook('taonyeditor')}
2021-08-03 17:33:48 +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')}",
langCancelCollection = "{:lang('cancel collection')}";
2021-08-03 17:33:48 +08:00
2022-08-02 21:13:36 +08:00
layui.use(["fly", "face", "colorpicker", "plyr", "laypage"], function () {
var $ = layui.jquery,
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));
});
//问答解析
$(".detail-body-wenda").each(function () {
var othis = $(this),
html = othis.html();
othis.html(fly.content(html));
2021-12-15 15:46:04 +08:00
});
}
2022-08-02 21:13:36 +08:00
//tpl模板给发布时间赋值
$("div.user-questions").children("span.user-post-time").each(function () {
var othis = $(this),
html = othis.html();
var string = laytpl("{{ d.time }}").render({
//time: html
time: othis.attr("data"),
});
var posttime = layui.util.timeAgo(string, 1);
othis.text(posttime);
//console.log(othis.attr('data'));
});
//tpl模板给发布时间赋值
$("div.detail-hits").children("span.post-time").each(function () {
var othis = $(this),
html = othis.html();
var string = laytpl("{{ d.time }}").render({
//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},
2021-12-21 16:34:33 +08:00
//获取起始页
2022-08-02 21:13:36 +08:00
jump: function (obj, first) {
2021-12-21 16:34:33 +08:00
//首次不执行
2022-08-02 21:13:36 +08:00
if (!first) {
2021-12-21 16:34:33 +08:00
var page = obj.curr;
2022-08-02 21:13:36 +08:00
var url = "{:url('article/detail',['id'=>$article.id])}";
2022-01-07 14:43:42 +08:00
var id = "{$article.id}";
2022-08-02 21:13:36 +08:00
$.post("{:url('article/detail')}", { id: id, page: page }, function () {
window.location.href = url + "?page=" + page + "#flyReply";
2021-12-21 16:34:33 +08:00
});
}
2022-08-02 21:13:36 +08:00
},
2021-08-03 17:33:48 +08:00
});
2022-08-02 21:13:36 +08:00
//下载
$("#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])}";
},
});
});
2021-10-12 16:52:51 +08:00
2022-08-02 21:13:36 +08:00
//加载播放器
plyr.setup();
});
</script>
2022-04-17 17:09:19 +08:00
2022-08-02 21:13:36 +08:00
// 点击图片放大
<div id="outerdiv" style="position: fixed; top: 0; left: 0; background: rgba(0, 0, 0, 0.7); z-index: 2; width: 100%; height: 100%; display: none">
<div id="innerdiv" style="position: absolute">
<img id="bigimg" style="border: 5px solid #fff" src="" />
</div>
</div>
2022-04-17 17:05:20 +08:00
<script type="text/javascript">
2022-08-02 21:13:36 +08:00
$(function () {
$(".photos").on("click", "img", function () {
var _this = $(this);
imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);
});
});
function imgShow(outerdiv, innerdiv, bigimg, _this) {
2022-04-17 17:05:20 +08:00
var src = _this.attr("src");
2022-08-02 21:13:36 +08:00
$(bigimg).attr("src", src);
$("<img/>")
.attr("src", src)
.on("load", function () {
var windowW = $(window).width();
var windowH = $(window).height();
var realWidth = this.width;
var realHeight = this.height;
var imgWidth, imgHeight;
var scale = 0.8;
if (realHeight > windowH * scale) {
//判断图片高度
imgHeight = windowH * scale;
imgWidth = (imgHeight / realHeight) * realWidth;
if (imgWidth > windowW * scale) {
//如宽度扔大于窗口宽度
imgWidth = windowW * scale;
}
} else if (realWidth > windowW * scale) {
imgWidth = windowW * scale;
imgHeight = (imgWidth / realWidth) * realHeight;
} else {
//如果图片真实高度和宽度都符合要求,高宽不变
imgWidth = realWidth;
imgHeight = realHeight;
}
$(bigimg).css("width", imgWidth);
var w = (windowW - imgWidth) / 2;
var h = (windowH - imgHeight) / 2;
$(innerdiv).css({ top: h, left: w });
$(outerdiv).fadeIn("fast");
});
$(outerdiv).click(function () {
//再次点击淡出消失弹出层
$(this).fadeOut("fast");
});
2022-04-17 17:05:20 +08:00
}
</script>
2022-08-02 21:13:36 +08:00
{:hook('markdownhook')}
2022-04-17 17:05:20 +08:00
2022-08-02 21:13:36 +08:00
<script>
//扫码阅读
$("#rdown").hover(
function () {
$("#phonedl").show().stop();
},
function () {
$("#phonedl").hide().stop();
}
);
2021-08-03 17:33:48 +08:00
2022-08-02 21:13:36 +08:00
$("#phonedl").hover(
function () {
$("#phonedl").show().stop();
},
function () {
$("#phonedl").hide().stop();
}
);
2021-10-12 16:52:51 +08:00
2022-08-02 21:13:36 +08:00
function PhoneDown() {
layer.open({
title: "扫码查阅",
skin: "layui-layer",
content: "<img src='/qrcode/?text={$Request.domain}{:url('article/detail',['id' => $article.id])}&size=230'>",
});
}
</script>
2022-08-02 18:46:05 +08:00
2022-08-02 21:13:36 +08:00
{volist name="push_js" id="vo"} {$vo.jscode|raw} {/volist}
{/block}
</div>