在使用 DedeCms 时,如果您遇到后台广告设置修改后,前台未能显示最新内容的问题,可以参考以下方法进行解决。本文将详细讲解如何通过修改代码来确保广告信息的及时更新。
安装 DedeCms 自带的广告模块后,可能会发现即使修改了广告信息,前台调用的仍然是修改前的内容。经过检查源代码,发现这是因为系统调用了缓存文件,但 DedeCMS 的 ad_edit.php 文件在编辑保存信息后并未删除原有的缓存文件,从而导致这一小问题。以下是具体的解决方案:
首先,打开 dede\\\\ad_edit.php 文件,并找到大约第70行的代码:
$dsql->ExecuteNoneQuery($query);
ShowMsg("成功更改一则广告代码!",$ENV_GOBACK_URL);
接下来,将上述代码修改为以下内容:
$dsql->ExecuteNoneQuery($query);
// 删除广告缓存文件 begin
// dedecms V57_GBK 2011-08-12
if(file_exists(DEDEDATA."/cache/myad-$aid.htm")){
@unlink(DEDEDATA."/cache/myad-$aid.htm");
}
// 删除广告缓存文件 end
ShowMsg("成功更改一则广告代码!",$ENV_GOBACK_URL);
这段代码的作用是在保存广告信息的同时,检查是否存在对应的缓存文件(路径为 DEDEDATA/cache/myad-$aid.htm),如果存在,则将其删除,从而确保前台能够显示最新的广告内容。
完成上述修改后,请记得保存文件并重新上传到服务器。随后,您可以返回后台更新广告信息,此时前台应该能够正确显示最新的广告内容。
通过以上步骤,您可以有效解决 DedeCms 广告模块中缓存未及时更新的问题。希望这篇文章对您有所帮助!如果您还有其他疑问,欢迎继续探讨。
注意:在实际操作过程中,请确保备份原始文件,以防止因误操作导致系统异常。