全方位站长技能、SEO优化学习平台
当前位置:网站首页 > Discuz笔记 > 正文

Dz二次开发:如何调用帖子列表的方法

作者:文煞发布时间:2023-07-17分类:Discuz笔记浏览:3551


温馨提示:手机扫码可阅读当前文章!
文章简介:在Discuz论坛中,如果想要在首页或者帖子内页中调用帖子列表,我们需要自己编写PHP代码对数据库进行操作。通过这种方式,我们可以在论坛的任意位置实现调用帖子列表的功能。下面是我为大家整理的简单示例代码:<?php require_...

在Discuz论坛中,如果想要在首页或者帖子内页中调用帖子列表,我们需要自己编写PHP代码对数据库进行操作。通过这种方式,我们可以在论坛的任意位置实现调用帖子列表的功能。


下面是我为大家整理的简单示例代码:


<?php
require_once './source/class/class_core.php';
// 初始化Discuz框架
$discuz = C::app();
$discuz->init();
// 获取帖子列表数据
$threadlist = DB::fetch_all("SELECT tid, subject FROM ".DB::table('forum_thread')." WHERE displayorder>=0 ORDER BY dateline DESC LIMIT 10");
// 遍历输出帖子列表
foreach($threadlist as $thread) {
    echo "标题: ".$thread['subject']."<br/>";
    echo "链接: <a href=\"forum.php?mod=viewthread&tid=".$thread['tid']."\">查看详情</a><br/><br/>";
}
?>


以上示例中,我们首先引入了`class_core.php`来初始化Discuz框架,并使用`init()`方法初始化。接着,通过执行SQL语句从数据库获取最新的10个帖子信息,并存储在`$threadlist`数组中。


最后,我们使用循环遍历输出每个帖子的标题和链接信息。用户可以点击链接查看详细内容。


这只是一个简单示例,你可以根据实际需求进行修改和扩展。你可以根据自己的需要添加条件、排序等操作来调整帖子列表的呈现方式。


通过以上代码,我们可以轻松实现在Discuz论坛的首页或者帖子内页中调用帖子列表的功能。


如金庸先生所言:“人们常误以为机关算尽夜方悲,奈何天不从人愿。”正是告诉我们要明白技术工具的一切都掌握在我们自己手中,只要有足够智慧,就能够驾驭它们。



一、DISCUZ调用论坛里所有版块的帖子列表:


<!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." ORDER BY `dateline` DESC LIMIT 0, 6");}-->
<ul>
<!--{loop $slides $slide}-->
<li>
<a href="forum.php?mod=viewthread&tid=$slide[tid]" title="$slide[subject]" target="_blank" >
<p><img src="uc_server/avatar.php?uid=$slide['authorid']&size=small"></p>
<p>$slide[subject]</p>
<p>日期<!--{echo date("m-d",$slide[dateline])}--> 浏览( $slide[views] ) 评论( $slide[replies] )</p>
</a>
</li>
<!--{/loop}-->
</ul>


二、DISCUZ调用论坛里指定版块ID的帖子列表:(tid='1')


<!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." WHERE tid='1' ORDER BY `dateline` DESC LIMIT 0, 6");}-->
<ul>
<!--{loop $slides $slide}-->
<li>
<a href="forum.php?mod=viewthread&tid=$slide[tid]" title="$slide[subject]" target="_blank" >
<p><img src="uc_server/avatar.php?uid=$slide['authorid']&size=small"></p>
<p>$slide[subject]</p>
<p>日期<!--{echo date("m-d",$slide[dateline])}--> 浏览( $slide[views] ) 评论( $slide[replies] )</p>
</a>
</li>
<!--{/loop}-->
</ul>


三、DISCUZ调用论坛帖子当前版块的帖子列表:(tid=".$slide[tid].")


<!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." WHERE tid=".$slide[tid]." ORDER BY `dateline` DESC LIMIT 0, 6");}-->
<ul>
<!--{loop $slides $slide}-->
<li>
<a href="forum.php?mod=viewthread&tid=$slide[tid]" title="$slide[subject]" target="_blank" >
<p><img src="uc_server/avatar.php?uid=$slide['authorid']&size=small"></p>
<p>$slide[subject]</p>
<p>日期<!--{echo date("m-d",$slide[dateline])}--> 浏览( $slide[views] ) 评论( $slide[replies] )</p>
</a>
</li>
<!--{/loop}-->
</ul>


四:DISCUZ调用帖子列表并且带图片


<div class="theportal_xihuan_list">
<ul>
<!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." ORDER BY `dateline` DESC LIMIT 0, 28");}-->
<!--{loop $slides $slide}-->
<li>
<!--{eval $tupian = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$slide[tid]' "));}-->
<div>
<a class="pic" href="forum.php?mod=viewthread&tid=$slide[tid]" target="_blank"> <img src="data/attachment/forum/$tupian" alt="$slide[subject]" title="$slide[subject]"></a>
<div class="details">
<h3><a href="forum.php?mod=viewthread&tid=$slide[tid]" target="_blank">$slide[subject]</a></h3>
<div class="row">作者:$slide[author] | 最后更新:<!--{echo date("Y-m-d",$slide[dateline])}--></div>
</div>
</div>
</li>
<!--{/loop}-->
</ul>
</div>


欢迎您,来自美国–俄亥俄州–特拉华县–都柏林的朋友,您的IP:3.16.51.237,您的网络:Amazon数据中心


Discuz笔记排行
随机推荐
猜你喜欢

服务热线

1888888888

要发发发发发发

站长微信公众号

站长微信公众号

分享:

支付宝

微信