默认的织梦后台首页,分类信息内容模型发布文章后,不显示在最新文档的解决办法。其实,不显示的原因是单表模型并没有入库#@__archives主表,只统计在#@__arctiny微表里面,所以,改改查询条件,把数据库相关联一下,就能够查询到文章了。话不多说,直接上代码。提醒:如果不使用单表模型,请就不要随意修改了哈。
教程开始
打开 /dede/templets/index_body.htm 文件,看到最新文档,下面有个PHP查询代码,把整个代码改为下面的代码就行了。
<?php $query = "SELECT arc.id,arc.arcrank,arc.channel, ch.editcon,ch.addtable,ch.issystem FROM `#@__arctiny` arc LEFT JOIN `#@__channeltype` ch ON ch.id = arc.channel WHERE arc.arcrank<>-2 ORDER BY arc.id DESC LIMIT 0,6 "; $arcArr = array(); $dsql->Execute('m', $query); while($row = $dsql->GetArray('m')) { $arcArr[] = $row; } if(count($arcArr) > 1) { foreach($arcArr as $row) { if(trim($row['editcon'])=='') { $row['editcon'] = 'archives_edit.php'; } if ($row['issystem'] == -1) { $www = $dsql->GetOne("SELECT arc.aid,arc.title,arc.typeid,arc.channel, ch.editcon,ch.mancon,ch.addtable FROM `{$row['addtable']}` arc LEFT JOIN `#@__channeltype` ch ON ch.id = arc.channel WHERE aid='{$row['id']}' "); $linkstr = "·<a href='{$row['editcon']}?aid={$row['id']}&channelid={$row['channel']}'>{$www['title']}</a>"; if($row['arcrank']==-1) $linkstr .= "<font color='red'>(未审核)</font>"; } else { $www = $dsql->GetOne("SELECT title FROM `#@__archives` WHERE id='{$row['id']}' "); $linkstr = "·<a href='{$row['editcon']}?aid={$row['id']}&channelid={$row['channel']}'>{$www['title']}</a>"; if($row['arcrank']==-1) $linkstr .= "<font color='red'>(未审核)</font>"; } ?> <tr> <td class='nline' style="text-align:left"> <?php echo $linkstr; ?> </td> </tr> <?php } } else { ?> <tr> <td class='nline' style="text-align:left"> 暂无新增内容 </td> </tr> <?php } ?>
修改完成,就是这么简单。
特别注意
其实显示和不显示,都是没有啥子区别的,只是众多站长的强迫症罢了,想到发布最新的文章,后台肯定是能看的,但居然不显示在后台,这就让人有点不解了,还有站长觉得是程序PHP版本的问题,然后从PHP5.2一直换到PHP8.1也是都不显示。这样改了以后,就能都显示在后台了,如果,你还想显示更多的信息,得要把表字段再关联一下就行了。
查询过慢
查询,肯定是要查询两次的,在结果里面加循环查询,虽然会降低打开速度,但是你想这个自定义表关联,就得要查询两次的,如果你的网站数据过多,我推荐还是不要整了。这个在输出结果再循环查询,确实是数据过多时是会有点缓慢的,网站数据超过十万的,还是不要整这个了吧,毕竟,如果不使用分类信息内容模型的话,完全是不需要做任何修改的。
本文结束
评论专区
发表评论
评论列表(无评论)