在用帝国cms做站的时候,从SEO的角度出发,如果技术上做不到轮链原理,那么让当前页面调用当前栏目下的内容也是一个不错的选择,那么帝国cms栏目页随机调用当前栏目内容该怎么做呢?
之前老威写了一个判断语句,是根据当前栏目的id值来判断调用,如果当前栏目id=1,则调用id=1下的表的内容,如果栏目id=2,则调用id=2下的表的内容,以此类推,这个方法适用于栏目数量不是特别多的站点,好处就是这样写的比较细,可以调用的具体一点,坏处就是代码多,浪费服务器资源(其实这一点半点的也浪费不了多少ヾ|≧_≦|〃)。
代码贴在下面
<?
if($navclassid==1){
?>
[e:loop={'select * from [!db.pre!]ecms_news where classid in(1) order by rand() desc limit 20',20,24,0}]
<li title="<?=$bqr['title']?>"><a target="_blank" href="<?=$bqsr['titleurl']?>"> <?=$bqr['title']?> </a></li>
[/e:loop]
<?php
}else if ($navclassid==2){
?>[e:loop={'select * from [!db.pre!]ecms_news where classid in(2) order by rand() desc limit 20',20,24,0}]
<li title="<?=$bqr['title']?>"><a target="_blank" href="<?=$bqsr['titleurl']?>"> <?=$bqr['title']?> </a></li>
[/e:loop]
<?
}
?>
还有一种方法比较简洁,直接做sql语句的判断,根据navclassid(当前栏目id)调用当前栏目下的内容。
[e:loop={"select * from [!db.pre!]ecms_news where classid='$GLOBALS[navclassid]' order by rand() desc limit 12",12,24,0,'','newstime DESC'}] <li title="<?=$bqr['title']?>"><a target="_blank" href="<?=$bqsr['titleurl']?>"> <?=$bqr['title']?> </a></li> [/e:loop]
这两种方法哪一种都可以,欢迎大家拿去测试!