2014/04/23 Discuz/CMS 12 Comments discuz个人空间主题列表 图片模式实现方法 **discuz X3空间主题列表 图片展现模式,discuz实现个人空间主题列表调用图片模式,discuz home图片列表** 如果需要实现该呈现方式,我们需要首先了解discuz封面图片存储原理: discuz没有将主题列表封面路径存在数据表中,只是在pre_forum_thread表中存了一个cover标识。然后用getthreadcover 函数调取,diy调用的图片也会产生缩略图,可以设置缩略图的质量。 封面图片存储路径格式:data/attachment/forum/threadcover/43/ec/81.jpg **getthreadcover 函数:** ```php function getthreadcover($tid, $cover = 0, $getfilename = 0) { global $_G; if(empty($tid)) { return ''; } $coverpath = ''; $covername = 'threadcover/'.substr(md5($tid), 0, 2).'/'.substr(md5($tid), 2, 2).'/'.$tid.'.jpg'; if($getfilename) { return $covername; } if($cover) { $coverpath = ($cover < 0 ? $_G['setting']['ftp']['attachurl'] : $_G['setting']['attachurl']).'forum/'.$covername; } return $coverpath; } 文件路径:/source/function/function_forum.php ``` **实现方法:** 修改:/source/language/home/lang_template.php 添加like 喜欢或查看 修改:/template/default/home/space_thread.htm 处理封面图: ```html {eval $covername = 'threadcover/'.substr(md5($thread[tid]), 0, 2).'/'.substr(md5($thread[tid]), 2, 2).'/'.$thread[tid].'.jpg'; $coverpath = ($cover < 0 ? $_G['setting']['ftp']['attachurl'] : $_G['setting']['attachurl']).'forum/'.$covername; } 图片列表 $thread[subject] {lang like}: $thread[views] {lang reply}: $thread[replies] $thread[author]$thread[dateline] ``` **效果如图:** ![](https://www.fity.cn/usr/uploads/2014/04/1398267751_475025ad.png) [点击下载homepic.zip](https://www.fity.cn/usr/uploads/2014/04/1398267751_7931ca70.zip "点击下载homepic.zip")PS:附件为UTF-8编码。 严重鄙视垃圾网站“Discuz教程网(www.discuz.1314study.com)”这种伸手党,抄袭本博内容用于商业目的且不注明出处! 本文最后更新于 2019-06-28 15:40:54 并被添加「」标签,已有 20735 位童鞋阅读过。 本文作者:未来往事 本文链接:https://felixway.cn/post/468.html 本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
功能终于实现了。感谢!
确实成功了。谢谢。有网站盗用你的东西
@小小
欢迎常来
请问博主,这如何调用只有封面图片的主题呢?或者说调用特定某个和某些版块里的带封面图片的主题?
@梦妮
请添加判断条件即可。欢迎来访!
很不错,感谢分享。顺便问下,使用外链图片能生成图片列表模式吗?
看的不是很懂,能详细点吗
为什么我加了{eval这段页面就空白不显示了
@易拉罐
说明你的语法有错误,由于discuz自身屏蔽了错误 当页面存在错误 即会显示空白
非常感谢。请问知道怎么在这个页面输出分类信息的自定义字段吗?
discuz3.2,我按照你这么设置,图片路劲不对,压根找不到那路径
@Ice
教程支持3.2。