fix: 修复文章详情没有评论数据显示问题
This commit is contained in:
@@ -99,6 +99,21 @@ class Article extends Common
|
|||||||
$share_config = $this->getSysConfig($this->lang_id, ['article_share']);
|
$share_config = $this->getSysConfig($this->lang_id, ['article_share']);
|
||||||
View::assign('share_config', $share_config['article_share']);
|
View::assign('share_config', $share_config['article_share']);
|
||||||
|
|
||||||
|
// 获取文章评论数据
|
||||||
|
$comments = ArticleLeaveMessageModel::field([
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'content',
|
||||||
|
'created_at'
|
||||||
|
])
|
||||||
|
->article($id)
|
||||||
|
->audited(true)
|
||||||
|
->order(['id' => 'desc'])
|
||||||
|
->limit(5)
|
||||||
|
->select();
|
||||||
|
View::assign('comments', $comments);
|
||||||
|
|
||||||
// 获取倒序或发布时间倒序3篇文章做为推荐文章
|
// 获取倒序或发布时间倒序3篇文章做为推荐文章
|
||||||
$recommends = ArticleModel::field([
|
$recommends = ArticleModel::field([
|
||||||
'id',
|
'id',
|
||||||
|
|||||||
@@ -16,4 +16,16 @@ class ArticleLeaveMessageModel extends ArticleLeaveMessageBaseModel
|
|||||||
use SoftDelete;
|
use SoftDelete;
|
||||||
// 软删除字段
|
// 软删除字段
|
||||||
protected $deleteTime = 'deleted_at';
|
protected $deleteTime = 'deleted_at';
|
||||||
|
|
||||||
|
// 文章文章范围查询
|
||||||
|
public function scopeArticle($query, $article_id)
|
||||||
|
{
|
||||||
|
$query->where('article_id', '=', $article_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 审核状态范围查询
|
||||||
|
public function scopeAudited($query, bool $is_audited = true)
|
||||||
|
{
|
||||||
|
$query->where('is_audited', '=', (int)$is_audited);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,170 +3,161 @@
|
|||||||
{notempty name="detail.seo_title"}<title>{$detail.seo_title}</title>{else /}{__BLOCK__}{/notempty}
|
{notempty name="detail.seo_title"}<title>{$detail.seo_title}</title>{else /}{__BLOCK__}{/notempty}
|
||||||
{/block}
|
{/block}
|
||||||
{block name="seo"}
|
{block name="seo"}
|
||||||
{notempty name="detail.seo_keywords"}
|
{notempty name="detail.seo_keywords"}
|
||||||
<meta name="keywords" content="{$detail.seo_keywords}" />
|
<meta name="keywords" content="{$detail.seo_keywords}" />
|
||||||
<meta name="description" content="{$detail.seo_desc}" />
|
<meta name="description" content="{$detail.seo_desc}" />
|
||||||
{else /}
|
{else /}
|
||||||
{__BLOCK__}
|
{__BLOCK__}
|
||||||
{/notempty}
|
{/notempty}
|
||||||
{/block}
|
{/block}
|
||||||
{block name="style"}
|
{block name="style"}
|
||||||
<link rel="stylesheet" href="__CSS__/article_detail.css">
|
<link rel="stylesheet" href="__CSS__/article_detail.css">
|
||||||
{/block}
|
{/block}
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
<div class="orico_Page_articleDetail">
|
<div class="orico_Page_articleDetail">
|
||||||
<!--内容 -->
|
<!-- 内容 -->
|
||||||
<div class="articleDetailMain">
|
<div class="articleDetailMain">
|
||||||
<div class="atmleft">
|
<div class="atmleft">
|
||||||
<div class="blog_title">
|
<div class="blog_title">
|
||||||
<h2>{$detail.title}</h2>
|
<h2>{$detail.title}</h2>
|
||||||
<p>{$detail.release_time}</p>
|
<p>{$detail.release_time}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- 文本渲染-->
|
<!-- 文本渲染 -->
|
||||||
<div class="blog_content">{$detail.content|raw}</div>
|
<div class="blog_content">{$detail.content|raw}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 文本渲染-->
|
<!-- 文本渲染 -->
|
||||||
<div class="blog_content">{$detail.content|raw}</div>
|
<div class="blog_content">{$detail.content|raw}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 评论只显示前面五条--->
|
{notempty name="comments"}
|
||||||
<div class="plmain">
|
<div class="plmain">
|
||||||
<div class="pl">
|
<div class="pl">
|
||||||
<span class="titlepp">评论</span>
|
<span class="titlepp">{:lang_i18n('评论')}</span>
|
||||||
<div class="plit">
|
{volist name="comments" id="cm"}
|
||||||
<span class="name">张三:</span>
|
<div class="plit">
|
||||||
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
|
<span class="name">{$cm.name}:</span>
|
||||||
</div>
|
<p>{$cm.content}</p>
|
||||||
<div class="plit">
|
</div>
|
||||||
<span class="name">张三:</span>
|
{/volist}
|
||||||
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="plit">
|
{/notempty}
|
||||||
<span class="name">张三:</span>
|
</div>
|
||||||
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
|
<div class="atmright">
|
||||||
</div>
|
{notempty name="share_config"}
|
||||||
</div>
|
<div class="blog_share">
|
||||||
</div>
|
<h3>{:lang_i18n('分享')}</h3>
|
||||||
|
<div class="share_list">
|
||||||
</div>
|
{volist name="share_config" id="sc"}
|
||||||
<div class="atmright">
|
<a class="atdit" {if condition="!empty($sc.is_blank) && $sc.is_blank.value == 1" }target="_blank" {/if} {notempty name="sc.url.value" }href="{$sc.url.value}" {/notempty}> <img src="{$sc.image.value}" />
|
||||||
{notempty name="share_config"}
|
{eq name=":array_key_exists('triggered_qrcode', $sc)" value="true"}
|
||||||
<div class="blog_share">
|
<div class="triggered_qrcode">
|
||||||
<h3>{:lang_i18n('分享')}</h3>
|
<img src="{$sc.triggered_qrcode.value}" />
|
||||||
<div class="share_list">
|
</div>
|
||||||
{volist name="share_config" id="sc"}
|
{/eq}
|
||||||
<a class="atdit" {if condition="!empty($sc.is_blank) && $sc.is_blank.value == 1" }target="_blank" {/if}
|
</a>
|
||||||
{notempty name="sc.url.value" }href="{$sc.url.value}" {/notempty}> <img src="{$sc.image.value}" />
|
{/volist}
|
||||||
{eq name=":array_key_exists('triggered_qrcode', $sc)" value="true"}
|
</div>
|
||||||
<div class="triggered_qrcode">
|
</div>
|
||||||
<img src="{$sc.triggered_qrcode.value}" />
|
{/notempty}
|
||||||
</div>
|
<div class="repply">
|
||||||
{/eq}
|
<h3>{:lang_i18n('留言')}</h3>
|
||||||
</a>
|
<form action="{:url('article/comment', ['id' => $detail.id])}" method="POST" autocomplete="off">
|
||||||
{/volist}
|
<span>{:lang_i18n('名称')}</span>
|
||||||
</div>
|
<input class="form-control itinp new_name" type="text" name="name" style="text-indent: 10px;">
|
||||||
</div>
|
<span>{:lang_i18n('电子邮箱')}</span>
|
||||||
{/notempty}
|
<input class="form-control itinp new_email" type="email" name="email" style="text-indent: 10px; margin-bottom:0;">
|
||||||
<div class="repply">
|
<p style="color: #C6C7C9; font-size: 0.75rem; margin-bottom: 0.625rem;">{:lang_i18n('您的电子邮件地址不会被公开')}</p>
|
||||||
<h3>{:lang_i18n('留言')}</h3>
|
<span>{:lang_i18n('留言内容')}</span>
|
||||||
<form action="{:url('article/comment', ['id' => $detail.id])}" method="POST" autocomplete="off">
|
<textarea class="form-control itinp new_comment" name="content" rows="3" style="text-indent: 10px;width: 98%; margin-top: 0.625rem;margin-bottom: 0.625rem;border: 1px solid #DBDBDB;"></textarea>
|
||||||
<span>{:lang_i18n('名称')}</span>
|
<div class="comment_btn" style="color:#ffffff;">{:lang_i18n('提交留言')}</div>
|
||||||
<input class="form-control itinp new_name" type="text" name="name" style="text-indent: 10px;">
|
</form>
|
||||||
<span>{:lang_i18n('电子邮箱')}</span>
|
</div>
|
||||||
<input class="form-control itinp new_email" type="email" name="email"
|
</div>
|
||||||
style="text-indent: 10px; margin-bottom:0;">
|
</div>
|
||||||
<p style="color: #C6C7C9; font-size: 0.75rem; margin-bottom: 0.625rem;">{:lang_i18n('您的电子邮件地址不会被公开')}</p>
|
{notempty name="$recommends"}
|
||||||
<span>{:lang_i18n('留言内容')}</span>
|
<div class="xq">
|
||||||
<textarea class="form-control itinp new_comment" name="content" rows="3"
|
<!-- 猜您喜欢 -->
|
||||||
style="text-indent: 10px;width: 98%; margin-top: 0.625rem;margin-bottom: 0.625rem;border: 1px solid #DBDBDB;"></textarea>
|
<div class="love">
|
||||||
<div class="comment_btn" style="color:#ffffff;">{:lang_i18n('提交留言')}</div>
|
<div class="love1">
|
||||||
</form>
|
<p class="tt">{:lang_i18n('你可能还喜欢')}</p>
|
||||||
</div>
|
<p><img src="__IMAGES__/1line.png" height="7"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<ul class="love2">
|
||||||
{notempty name="$recommends"}
|
{volist name="recommends" id="vo"}
|
||||||
<div class="xq">
|
<li>
|
||||||
<!-- 猜您喜欢 -->
|
<a href="{:url('article/detail', ['id' => $vo.id])}">
|
||||||
<div class="love">
|
<div class="lvimg"><img src="{$vo.image}"></div>
|
||||||
<div class="love1">
|
<p class="lvtit">{$vo.title}</p>
|
||||||
<p class="tt">{:lang_i18n('你可能还喜欢')}</p>
|
</a>
|
||||||
<p><img src="__IMAGES__/1line.png" height="7"></p>
|
</li>
|
||||||
</div>
|
{/volist}
|
||||||
<ul class="love2">
|
<div class="clear"></div>
|
||||||
{volist name="recommends" id="vo"}
|
</ul>
|
||||||
<li>
|
</div>
|
||||||
<a href="{:url('article/detail', ['id' => $vo.id])}">
|
</div>
|
||||||
<div class="lvimg"><img src="{$vo.image}"></div>
|
{/notempty}
|
||||||
<p class="lvtit">{$vo.title}</p>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{/volist}
|
|
||||||
<div class="clear"></div>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/notempty}
|
|
||||||
</div>
|
</div>
|
||||||
{/block}
|
{/block}
|
||||||
{block name="script"}
|
{block name="script"}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('.comment_btn').click(function () {
|
$('.comment_btn').click(function () {
|
||||||
var form = $(this).parents('form');
|
var form = $(this).parents('form');
|
||||||
var form_data = form.serialize();
|
var form_data = form.serialize();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: form.attr('action'),
|
url: form.attr('action'),
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
data: form_data,
|
data: form_data,
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
alert(data.msg);
|
alert(data.msg);
|
||||||
if (data.code == 0) {
|
if (data.code == 0) {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// 滚动到猜你喜欢部分,右边提交信息不固定
|
// 滚动到猜你喜欢部分,右边提交信息不固定
|
||||||
// 获取视口高度
|
// 获取视口高度
|
||||||
|
|
||||||
// 保存原始样式
|
// 保存原始样式
|
||||||
const originalAlign = $(".orico_Page_articleDetail .articleDetailMain").css("align-items");
|
const originalAlign = $(".orico_Page_articleDetail .articleDetailMain").css("align-items");
|
||||||
$(document).on("scroll", function () {
|
$(document).on("scroll", function () {
|
||||||
const viewportHeight = $(this).height();
|
const viewportHeight = $(this).height();
|
||||||
// 获取当前滚动距离
|
// 获取当前滚动距离
|
||||||
const scrollTop = $(this).scrollTop();
|
const scrollTop = $(this).scrollTop();
|
||||||
$(".xq").each(function () {
|
$(".xq").each(function () {
|
||||||
const $el = $(this);
|
const $el = $(this);
|
||||||
const elTop = $el.offset().top;
|
const elTop = $el.offset().top;
|
||||||
const elHeight = $el.outerHeight();
|
const elHeight = $el.outerHeight();
|
||||||
// 元素底部距离视口顶部还有 50px 时触发动画
|
// 元素底部距离视口顶部还有 50px 时触发动画
|
||||||
const triggerPosition = scrollTop + viewportHeight;
|
const triggerPosition = scrollTop + viewportHeight;
|
||||||
if (scrollTop > $('.orico_Page_articleDetail').height()-350-900) {
|
if (scrollTop > $('.orico_Page_articleDetail').height() - 350 - 900) {
|
||||||
$(".atmright").css("position", "static");
|
$(".atmright").css("position", "static");
|
||||||
$(".orico_Page_articleDetail .articleDetailMain").css("align-items","flex-end");
|
$(".orico_Page_articleDetail .articleDetailMain").css("align-items", "flex-end");
|
||||||
} else {
|
} else {
|
||||||
// 还原原始样式
|
// 还原原始样式
|
||||||
$(".atmright").removeAttr("style"); // 清除自定义样式
|
$(".atmright").removeAttr("style"); // 清除自定义样式
|
||||||
$(".orico_Page_articleDetail .articleDetailMain").css("align-items",
|
$(".orico_Page_articleDetail .articleDetailMain").css("align-items",
|
||||||
originalAlign);
|
originalAlign);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
function shareCustomers() {
|
function shareCustomers() {
|
||||||
// 复制到粘贴板
|
// 复制到粘贴板
|
||||||
const input = document.createElement('input')
|
const input = document.createElement('input')
|
||||||
input.setAttribute('readonly', 'readonly')
|
input.setAttribute('readonly', 'readonly')
|
||||||
let url = window.location.href
|
let url = window.location.href
|
||||||
input.setAttribute('value', url)
|
input.setAttribute('value', url)
|
||||||
document.body.appendChild(input)
|
document.body.appendChild(input)
|
||||||
input.select()
|
input.select()
|
||||||
if (document.execCommand('copy')) {
|
if (document.execCommand('copy')) {
|
||||||
document.execCommand('copy')
|
document.execCommand('copy')
|
||||||
alert("{:lang_i18n('链接复制成功')}")
|
alert("{:lang_i18n('链接复制成功')}")
|
||||||
}
|
}
|
||||||
document.body.removeChild(input)
|
document.body.removeChild(input)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
Reference in New Issue
Block a user