在 Discuz! X3.5 触屏版中实现文章评论展示,需要从以下四个层面进行配置:
1. **后台核心设置**
- 进入「门户」→「频道栏目」→ 编辑对应文章频道
- 在「其他选项」中确认:
✔️ 启用评论功能
✔️ 设置「评论审核」为免审模式(测试阶段建议)
✔️ 用户组权限中开启「允许评论」权限(需检查所有相关用户组)
2. **模板层改造**
触屏版模板路径:/template/default/touch/portal/view.htm
需确保包含以下核心代码段:
- <!--{if $_GET['mod'] == 'view' && !empty($_G['setting']['comment']['article'])}-->
- <div class="comment-area" id="ct">
- <!--{hook/comment}-->
- </div>
- <!--{/if}-->
复制代码
若采用响应式模板需增加媒体查询:
- @media (max-width:768px){
- .comment-list {padding:10px;}
- .cmt-item {margin-bottom:15px;}
- }
复制代码
3. **数据调用优化**
在 portal_view.php 控制器中追加:
- $commentUrl = 'portal.php?mod=comment&id='.$_G['aid'].'&type=article';
- $comments = C::t('portal_comment')->fetch_all_by_id_idtype($_G['aid'], 'aid', 0, 10);
复制代码
4. **移动端交互增强**
建议在模板底部增加 AJAX 评论加载:
- <script>
- $(function(){
- $.getJSON('{$commentUrl}', function(data){
- $.each(data, function(i,item){
- let html = `<div class="cmt-item">
- <div class="cmt-user">${item.author}</div>
- <div class="cmt-content">${item.message}</div>
- <div class="cmt-time">${item.dateline}</div>
- </div>`;
- $('#ct').append(html);
- });
- });
- });
- </script>
复制代码
**排查建议:**
1. 检查 data/模板缓存目录是否可写
2. 通过「工具」→「更新统计」重建文章评论计数
3. 测试时请使用初级会员账号避免权限问题
4. 开启开发者模式查看是否报出 SQL 错误
若经过上述配置仍未显示,建议提供具体页面的前端截图,以便进一步分析模板渲染问题。可通过 www.dz-x.net 的模板调试工具进行深度检测。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |