织梦DedeCMS实现单页面自动更新文章
在织梦DedeCMS中,实现单页面自动更新文章的功能对于提升网站的用户体验至关重要,本文将详细介绍如何通过修改系统文件和设置来实现这一功能。
方法一:通过task_do.php文件实现单页面自动更新
1、需求简要
这种方法适用于需要创建全站最新更新列表的场景,通过使用arclist标签编译新的单页面,当新发布一篇文章时,可以自动更新这些单页面。
2、实现步骤
打开后台目录的task_do.php文件,找到以下代码:
$GLOBALS['_arclistEnv'] = 'index'; $pv>SetTemplet($tpl); $pv>SaveToHtml($homeFile); $pv>Close();
在上述代码下面一行添加以下代码:
//更新所有的单文档
include_once(DEDEINC."/arc.sgpage.class.php");
$dsql>Execute("ex","Select aid Fromdede_sgpage
");
$i = 0;
while($row = $dsql>GetArray("ex")) {
$sg = new sgpage($row['aid']);
$sg>SaveToHtml();
$i++;
}
保存并关闭文件。
3、使用方法
确保在后台的[系统基本参数]——性能选项中,将“发布文章后马上更新网站主页”设置为“是”,这样才能保证代码的顺利执行。
在后台的[系统基本参数]——性能选项中,将“arclist标签调用缓存”尽量调小一点(非必须)。
方法二:通过makehtml_all.php文件实现单页面自动更新
1、需求简要
此方法适用于需要在更新网站时自动完成单页文档的更新。
2、实现步骤
打开站点后台目录的makehtml_all.php文件,找到以下代码:
if($step==1) { $starttime = GetMkTime($starttime); $mkvalue = ($uptype=='time' ? $starttime : $startid); OptimizeData($dsql); ShowMsg("完成数据优化,现在开始更新文档!","makehtml_all.php?action=make&step=2&uptype=$uptype&mkvalue=$mkvalue"); exit(); }
修改为以下代码:
if($step==1) {
include_once(DEDEINC."/arc.sgpage.class.php");
$dsql>Execute("ex","SELECT aid FROM#@__sgpage
");
$i = 0;
while($row = $dsql>GetArray("ex")) {
$sg = new sgpage($row['aid']);
$sg>SaveToHtml();
$i++;
}
$starttime = GetMkTime($starttime);
$mkvalue = ($uptype=='time' ? $starttime : $startid);
OptimizeData($dsql);
ShowMsg("完成数据优化和单页更新,现在开始更新文档!","makehtml_all.php?action=make&step=2&uptype=$uptype&mkvalue=$mkvalue");
exit();
}
保存并关闭文件。
织梦DedeCMS实现单页面自动更新文章的方法主要包括通过修改task_do.php文件或makehtml_all.php文件来实现,这两种方法各有特点,可以根据具体需求选择适合的方法进行操作,确保在后台设置中启用相关选项以保证代码的顺利执行。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1223293.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复