怎么解决织梦dedecms生成栏目HTML缓慢
1、织梦后台首页--核心--自由列表管理--增加列表:( 如下图)
2、设置相关参数:(参考上图)
自由列表标题:
Google SiteMap 生成器
目录默认页名称: 不使用目录默认主页(勾选上)
命名规则:
Sitemap_{page}xml (如果只想把网站地图生成一页,不分页的话也可以写成Sitemapxml。)
列表模板:
google_sitemaphtm (此处根据自己情况填写列表模板路径。列表模板织梦程序本身就带的有,位置在template/default/googlemaphtm,但由于"<"出错的原因不好用,下面小编把自己编写的列表模板共享给大家。)
小编写的列表模板代码:
<xml version="10" encoding="{dede:globalcfg_soft_lang/}"><urlset xmlns="http://wwwsitemapsorg/schemas/sitemap/09">
<url>
<loc>http://wwwxxxcom</loc>
<changefreq>always</changefreq>
<priority>10</priority>
</url>
{dede:freelist/}
</urlset>
把红色代码改为自己的网址。然后保存以上代码,命名为google_sitemaphtm,放到你的模板文件夹,列表模板处填写好路径。
列表描述:
Google SiteMap文件生成
每页记录数:500(可根据自身情况而定)
循环内的单行记录样式(InnerText):[底层变量field参考]
<url><loc>[field:arcurl function="Gmapurl(@me)"/]</loc>
<lastmod>[field:senddate function="strftime('%Y-%m-%d',@me)"/]</lastmod>
<changefreq>weekly</changefreq>
<priority>05</priority>
</url>
最后点击“保存一个列表”返回 。
3、生成sitemap:
返回到“更新自由列表”,看到了吧:
直接点“更新”!
4、点击开始生成html
5、大功告成。
利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页:
<php
require("smarty/Smartyclassphp");
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/indexhtm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001html", "w");
fwrite($fp, $content);
fclose($fp);
>
织梦dedecms生成栏目HTML缓慢的一个可能原因及解决方法:
1、找到dede\makehtml_list_actionphp 文件
在dede\makehtml_list_actionphp 的文件行 101 处
//$lv->CountRecord();
有这样一处注释掉的代码,这一个计算某个栏目类有多少分页的代码居然不运行,从而导致后面一行
if($lv->TypeLink->TypeInfos[‘ispart’]==0 && $lv->TypeLink->TypeInfos[‘isdefault’]!=-1) $ntotalpage = $lv->TotalPage;
else $ntotalpage = 1;
导致这里面的 $ntotalpage 根本得不到值 (NULL),因为 $lv->TotalPage 是在$lv->CountRecord 函数里面赋值
,从而想到,取消此处注释,让栏目生成HTML 分批进行
2、尽量不要一次性生成过多
在生成后台我们可以安排日期进行生成或者安排id进行生成,这样比较合理,不然线程过多,或者时间过程,很容易导致卡死!
楼主你好
能一直提示安装直至安装成功,应该环境是没问题,出现500可能是什么地方配置的问题,在根目录再新建一个目录看能不能访问,如果能说明dedecms的系统问题。
还有一种情况可能是你把配置错误的 htaccess 文件放在网站目录里了,检查下看有没有。
希望可以帮到你。 林羽凡
1、DEDE后台“更新所有”、“更新栏目”、“更新文档”没反应或无法生成,如下图。
2、打开前端模板文件templets/。
3、查找templets/中的文件里面其中含{dede:fieldname='typeid'function="GetTopTypename(@me)" /} 或含有“GetTopTypename(@me)”的字段将整句删除,并保存。
4、恢复正常生成更新。
0条评论