加快DedeCMS文章页显示速度的两个小技巧分享

  发布时间:2011-03-06 23:46:20   作者:佚名   我要评论
因为用是国外的空间,网络比不上国内的空间,所以只能在系统上动手脚了。我在默认的模板上小改了一下,表面速度快了不少,不敢独享,发表出来,从家参考下。
第一步
处理文章页的Javascript,在默认模板中前面有一大段Javascript,可能有2KB多一点,每个页2KG,集少成多也不少了。我就把这段JS提取出来,另存为一个文件,以后只要下载一次就可以了。不过注意要把JS里的路径根据自己的情况替换一下。

第二步
发现文章到点击次数那里卡住了,有时差不要十来秒,感觉很不好,原来在查数据,影响了速度。其实这里我们可以用AJAX方式写出来,具体做法是:
1、修改模板把<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>这行去掉,加上<span id="article_click"></span>
2、在第一步所说的的JS文件里加入一个JS函数

复制代码
代码如下:

function getClick(aid,mid)
{
var taget_obj = document.getElementById('article_click');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("/plus/count.php?ajax=yes&mid=" +mid +"&aid=" +aid); //这里要根据情况改成网站的实际路径
DedeXHTTP = null;
}

3、修改plus/count.php文件,在exit()之前加入以下的代码

复制代码
代码如下:

if(!empty($ajax))
{
$row = $dsql->GetOne(" Select click From `{$maintable}` where {$idtype}='$aid' ");
if(is_array($row))
{
echo $row['click'];
}
}

3、把<script language="javascript" type="text/javascript">getDigg({dede:field.id/});</script>改为:& lt;script language="javascript" type="text/javascript">getClick({dede:field name='id'/},mid={dede:field name='mid'/});getDigg({dede:field.id/});</script>。其实getClick这个函数只要放在文章后面,哪里都无所谓。

我是刚开始用DEDECMS,感觉功能很好很强大,技巧方面暂时就这两点,经过这两步好,感觉显示速度快了不少。

相关文章

最新评论