帝国CMS怎么随机调用栏目内容
我们经常看到有一些站做了全国很多的地区栏目,他们的栏目也能够互相循环,有利于蜘蛛的爬取,但是帝国CMS怎么来搞呢?
之前老威讲过帝国CMS随机调用内容,有利于蜘蛛每次来抓取都能抓取到不同的信息,今天基于这个查询语句,经过一中午的研究(由于对mysql不是太熟悉),终于研究出帝国cms随机调动栏目的语句了。
[e:loop={'select * from [!db.pre!]enewsclass where bclassid in(1) order by rand() desc limit 10',10,24,0}] <? if($bqr['classurl']=='') { $sccurl=$public_r['newsurl'].$bqr['classpath']."/"; } else { $sccurl=$bqr['classurl']."/"; } ?> <a target="_blank" href="<?=$sccurl?>"><?=$bqr['classname']?></a> | [/e:loop]
如果你要随机调用栏目id=5下的栏目,就把代码改成bclassid in(5)就行了,至于对这段代码内容不熟悉的朋友可以参考老威之前写的内容。
帝国cms栏目页随机调用当前栏目内容
在用帝国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]
本文转载自老威SEO博客原创文章