我爱自学

 找回密码
 会员注册

QQ登录

只需一步,快速开始

Discuz获取相关帖子封面的方法教程

discuz论坛系统,帖子内容页有一个相关帖子功能。默认的相关帖子只有标题,没有帖子主题封面。本文我爱自学小编整理discuz教程,分享相关帖子封面获取方法和教程。
Discuz系统帖子内容页是带有相关帖子推荐功能的,根据帖子的Tags进行相关推荐。小编在进行手机端模板开发时,使用了PC端功能,显示效果如下图所示,只有帖子标题,没有封面。

discuz教程相关帖子推荐

discuz教程相关帖子推荐

为提高访客体验,在相关帖子下方帖子左侧增加主题封面显示。

步骤一:打开source/module/forum/forum_viewthread.php文件
搜索$post['tags'],修改为如下内容

  1. if($post['tags']) {
  2.                                 $post['relateitem'] = getrelateitem($post['tags'], $post['tid'], $_G['setting']['relatenum'], $_G['setting']['relatetime']);
  3.                                 foreach($post['relateitem'] as $k=>$img)
  4.                                    {
  5.                                         $threada= C::t('forum_attachment')->fetch_all_by_id('tid', $img['tid'], 'aid');
  6.                                                 $threadaid = reset($threada);
  7.                                                 $threadpic = C::t('forum_attachment_n')->fetch_by_aid_uid($threadaid['tableid'], $threadaid['aid'], $thread['authorid']);
  8.                                                 $thread['pic'] = $threadpic['attachment'];
  9.                                                 $post['relateitem'][$k]['img'] = 'data/attachment/forum/'.$thread['pic'];

  10.                                    }
  11.                         }
复制代码

参考上方代码后,相关帖子有封面输出了,但是部分没有封面的的主题,加载失败显示“点击重新加载”。如何处理参考下方内容:
游客,如果您要查看本帖隐藏内容请回复


步骤二:
在帖子模板中,添加如下内容:
  1. <div class="m_relation">
  2.                                     <h3>{lang related_thread}</h3>
  3.                                     <ul>
  4.                                             <!--{loop $post['relateitem'] $var}-->
  5.                                             <li>
  6.                                             <a href="forum.php?mod=viewthread&tid=$var[tid]" title="$var[subject]" class="topic_img"><img src="$var[img]" width="100px" height="60px"></a>
  7.                                             <span class="related_des">
  8.                                                  <div class="related_title"><a href="">$var[subject]</a></div>
  9.                                                  <span class="related_views"><i class="icon-eye1"></i></span>
  10.                                             </span>
  11.                                             </li>
  12.                                             <!--{/loop}-->
  13.                                     </ul>
  14.                             </div>
复制代码
其中$var[img]就是获取的相关帖子的封面地址

优化后的显示效果如下图:

获取相关帖子主题封面

获取相关帖子主题封面



以上,就是Discuz相关帖子主题封面获取的方法


点击阅读更多内容!
如果您觉得文章内容帮助到了您,不妨点点感兴趣的广告。感谢您的支持!

微信扫一扫打赏

回复

使用道具 举报

感謝教程,找了很久,希望可以成功
发表 sa0316 发表于 2023-12-8 11:50:46
回复

使用道具 举报

我来学习一下
发表 boonkiong 发表于 2023-9-24 08:32:18
回复

使用道具 举报

我看看具体怎么操作
发表 2opill 发表于 2023-9-19 12:51:47
回复

使用道具 举报

我看看有没有帮助
发表 zgncr 发表于 2023-8-8 20:47:26
回复

使用道具 举报

模板制作的时候,如果想要在相关帖子中添加主题访问量,也是很简单的:$var[views]
发表 LCeditor 发表于 2021-12-11 21:51:37
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

手机版|小黑屋|我爱自学 ( 蜀ICP备19015358号-3 )

GMT+8, 2024-4-29 00:19 , Processed in 0.088559 second(s), 57 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

本站大部分教程是网站原创教程,一部分教程为我爱自学(http://www.5izixue.com)编辑收集整理。

如果您需要转载我爱自学网站教程,请注明“资料来源:我爱自学(5izixue)”字样并注明本站网址。

编辑收集整理的教程版权归原作者所有,本站只提供网友交流学习使用,请勿用于商业用途,如果该文章有任何侵犯您权益的地方,请联系我们(569705694@qq.com),我们将在第一时间进行处理!谢谢您的支持!

快速回复 返回顶部 返回列表