关灯
请选择 进入手机版 | 继续访问电脑版

[DZ教程] discuz 首页调用帖子列表带分页

[复制链接]
bdk 发表于 2020-5-2 12:47:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
前面发了一篇门户首页调用文章列表,这里发下调用帖子列表的代码。
这个代码放到门户首页index.htm模板中
  1. <!--{eval require './source/function/function_post.php';}-->
  2. <!--{eval require './config/config_global.php';}-->
  3. <!--{eval $prefix=$_config['db']['1']['tablepre'] }-->
  4. <!--{eval $pagesize = 10;}-->
  5. <!--{eval $amount=0;}-->
  6. <!--{eval $res = mysql_query("SELECT COUNT(*) as count FROM ".$prefix."forum_thread t1 LEFT OUTER JOIN  ".$prefix."forum_threadimage t3 ON t1.tid = t3.tid WHERE t1.displayorder >- 1 AND t3.attachment <> ''");}-->
  7. <!--{eval while($re=mysql_fetch_array($res)) $amount=$re['count']}-->
  8. <!--{eval $pagecount = $amount ? (($amount < $pagesize) ? 1 : (($amount % $pagesize) ? ((int)($amount / $pagesize) + 1) : ($amount / $pagesize))) : 0; }-->
  9. <!--{eval $page = !empty($_G['gp_page']) ? max(1, intval($_G['gp_page'])) : 1;}-->
  10. <!--{eval $page = $page > $pagecount ? 1 : $page;}-->
  11. <!--{eval $startlimit = ($page - 1) * $pagesize;}-->
  12. <!--{eval $multipage = multi($amount, $pagesize, $page, 'portal.php?', $pagecount);}-->
  13. <!--{eval $res = mysql_query("SELECT t1.tid,t1.fid,t2.`name`,t1.author,t1.authorid,t1.`subject`,t4.message,t1.views,t1.replies,from_unixtime(t1.dateline) as dateline,t3.attachment FROM ".$prefix."forum_thread t1 LEFT OUTER JOIN  ".$prefix."forum_forum t2 ON t1.fid = t2.fid LEFT OUTER JOIN  ".$prefix."forum_threadimage t3 ON t1.tid = t3.tid LEFT OUTER JOIN  ".$prefix."forum_post t4 ON t1.tid = t4.tid WHERE t1.displayorder >- 1 AND t3.attachment<> '' AND t4.`first` > 0 ORDER BY t1.dateline DESC LIMIT $startlimit, $pagesize");}-->
复制代码
调用列表开始:
  1. <!--{eval while($re1=mysql_fetch_array($res)) {}-->
  2. <a href="forum.php?mod=viewthread&tid=$re1[tid]"><!--帖子链接-->
  3. <!--{if $re1[attachment]}--><!--如果图片附件存在-->
  4. <img src="$_G[setting][attachurl]forum/$re1[attachment]" width="120" height="auto"><!--本地存储图片附件路径-->
  5. <!--{/if}-->
  6. </a>
  7. <h3><a href="forum.php?mod=viewthread&tid=$re1[tid]" title="$article[title]">$re1[subject]</a></h3><!--帖子链接、标题-->
  8. <p><!--{eval echo messagecutstr($re1['message'],150)}--></p><!--帖子摘要150字符-->
  9. <a href="forum.php?mod=forumdisplay&fid=$re1[fid]" class="article-info-cat z">$re1[name]</a><!--板块链接、板块名-->
  10. <em class="sprit z">/</em>
  11. <a href="home.php?mod=space&uid=$re1[authorid]" class="z">$re1[author]</a><!--帖子作者链接、作者用户名-->
  12. <em class="sprit z">/</em>
  13. <span class="article-info-date z">$re1[dateline]</span><!--帖子发表时间-->
  14. <span class="article-info-num y"><i></i>$re1[replies]</span><!--帖子评论数-->
  15. <span class="article-info-view y"><i></i>$re1[views]</span><!--帖子点击数-->
  16. <!--{eval }}-->
  17. <div class="pages cl">$multipage</div><!--帖子列表分页-->
复制代码
以上就可以成功调用了。
说明:
以上代码调用的是含有图片附件的主题,如果想要调用所有,删掉第一步代码最后的 AND t3.attachment,可调用到无图片附件帖。
<!--{eval $pagesize = 10;}-->是每10条分页。
我这里测试的结果是共有8页,不知道怎么能改变调用总数。

另一个代码,这个好像也没控制住总数,这是调用全部帖子:
  1. <!--{eval require './source/function/function_post.php';}-->
  2. <!--{eval $pagesize = 9;}-->
  3. <!--{eval $amount=0;}-->
  4. <!--{eval $res = mysql_query("select count(*) as count from pre_forum_post where fid in(select fid from pre_forum_forum where status=1 and type='forum') and bbcodeoff<>-1");}-->
  5. <!--{eval while($re=mysql_fetch_array($res)) $amount=$re['count']}-->
  6. <!--{eval $pagecount = $amount ? (($amount < $pagesize) ? 1 : (($amount % $pagesize) ? ((int)($amount / $pagesize) + 1) : ($amount / $pagesize))) : 0; }-->
  7. <!--{eval $page = !empty($_G['gp_page']) ? max(1, intval($_G['gp_page'])) : 1;}-->
  8. <!--{eval $page = $page > $pagecount ? 1 : $page;}-->
  9. <!--{eval $startlimit = ($page - 1) * $pagesize;}-->
  10. <!--{eval $multipage = multi($amount, $pagesize, $page, 'portal.php?', $pagecount);}-->
  11. <!--{eval $res = mysql_query("select t1.tid,t1.views,t1.author,t1.subject,FROM_UNIXTIME(t1.dateline,'%Y') as year,FROM_UNIXTIME(t1.dateline,'%m') as month,FROM_UNIXTIME(t1.dateline,'%d') as day,t2.message,t3.attachment,t4.name,t4.fid from pre_forum_thread t1 left join pre_forum_post t2 on t1.tid=t2.tid left join pre_forum_threadimage t3 on t1.tid=t3.tid left join pre_forum_forum t4 on t1.fid=t4.fid where t1.displayorder<> -1 and t3.attachment<>' ' order by t1.dateline desc LIMIT $startlimit, $pagesize");}-->
  12. <!--{eval $src=""}-->
  13. <!--{eval while($re1=mysql_fetch_array($res)) {}-->  
  14. <div class="page-container">
  15.         <div class="postmetadata">
  16.                 <span class="meta-date">
  17.                         <a href="forum.php?mod=viewthread&&tid=$re1['tid']" title="$re1['subject']">
  18.                                 <span class="month">$re1['month']月</span>
  19.                                 <span class="day">$re1['day']</span>
  20.                                 <span class="year">$re1['year']</span>
  21.                         </a>
  22.                 </span>
  23.                 <span class="meta-comments">
  24.                         <a href="forum.php?mod=viewthread&&tid=$re1['tid']" title="$re1['subject']" class="comments-count">$re1['views']</a>
  25.                         <a href="forum.php?mod=viewthread&&tid=$re1['tid']" title="$re1['subject']">Comment</a>
  26.                 </span>
  27.                 <span class="meta-author">
  28.                         <span>by<br />$re1['author']</span>
  29.                 </span>
  30.         </div>
  31.   <div class="post-contents">
  32.     <div class="thumbnail">
  33.             <a href="forum.php?mod=viewthread&&tid=$re1['tid']" title="$re1['subject']"><img src="data/attachment/forum/$re1['attachment']"/></a>
  34.     </div>
  35.     <h3 class="entry-title">
  36.             <a href="forum.php?mod=viewthread&&tid=$re1['tid']" title="$re1['subject']">$re1['subject']</a>
  37.     </h3>
  38.     <div class="post-category">来自于<a href="forum.php?mod=forumdisplay&fid=$re1['fid']">$re1['name']</a></div>
  39.     <div class="post-content">
  40.             <!--{eval $src=messagecutstr($re1['message'],300)}-->
  41.             <p>$src</p>
  42.     </div>
  43.   </div>
  44. </div>
  45. <!--{eval }}-->
  46. <div class="pags c1"><div id="pag"> $multipage </div></div>
复制代码


回复

使用道具 举报

 

0关注

0粉丝

64帖子

排行榜
作者专栏
Copyright   ©2015-2016  TdmhPowered by©Discuz!土墩木华