帝国ecms

帝国CMS怎么随机调用栏目内容

DevX · 12月2日 · 2020年 · · ·

帝国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_newswhereclassidin(1)orderbyrand()desclimit20',20,24,0}]
<lititle="<?=$bqr['title']?>"><atarget="_blank"href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]
<?php
}elseif($navclassid==2){
?>[e:loop={'select*from[!db.pre!]ecms_newswhereclassidin(2)orderbyrand()desclimit20',20,24,0}]
<lititle="<?=$bqr['title']?>"><atarget="_blank"href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]
<?
}
?>

 

还有一种方法比较简洁,直接做sql语句的判断,根据navclassid(当前栏目id)调用当前栏目下的内容。

[e:loop={"select*from[!db.pre!]ecms_newswhereclassid='$GLOBALS[navclassid]'orderbyrand()desclimit12",12,24,0,'','newstimeDESC'}]
<lititle="<?=$bqr['title']?>"><atarget="_blank"href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]

本文转载自老威SEO博客原创文章

0 条回应