帝国CMS如何避免索引重复调用的方法
帝国CMS避免索引重复调用的方法有以下几种: 1. 使用静态页面缓存功能,将生成的HTML文件缓存起来,减少数据库查询次数。 2. 使用伪静态功能,将动态URL转换为静态URL,减少数据库查询次数。 3. 使用自定义函数功能,将一些常用的查询结果缓存起来,减少数据库查询次数。 4. 使用模板标签功能,将一些常用的查询结果直接在模板中输出,减少数据库查询次数。 5. 优化数据库结构,合理设计表结构,减少冗余数据和无用字段。
一、解决父级栏目列表页调用列表信息时,不调用采用索引链接同时发布的文章的方法:
list.var 使用程序代码,列表页过滤isurl。代码如下:
if($r[isurl]=='0'){$list='<li><ahref="[!--titleurl--]"title="[!--oldtitle--]">[!--title--]</a><span>[!--newstime--]</span></li>';}$listtemp=$list;
二、解决内容页调用相关链接时,显示重复的文章的方法:
参考pmume这个贴子,http://bbs.phome.net/showthread-31-338644-0.html
在if($keyid){
$add="id in (".$keyid.") ";这里,增加and isurl=0,最后效果为:
if($keyid){$add="idin(".$keyid.")andisurl=0";
在}else{
$e=$id+$num;
$s=$id-$num;
$add=" classid=".$classid." and id>".$s." and id<".$e;这里,增加." and isurl=0",最后效果为:
}else{$e=$id+$num;$s=$id-$num;$add="classid=".$classid."andid>".$s."andid<".$e."andisurl=0";
内容页调相关链接时,不再使用[!--other.link--],而使用<?=dp_GetKeyboard(200)?>的方法。