在使用Dedecms CMS时,如果安装了自带的广告模板,并且修改了广告中的信息,但前台显示的仍然是之前的信息,这通常是因为缓存未及时更新导致的。为了解决这一问题,可以通过修改 `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`)。这样可以确保前台显示的广告内容与后台设置的一致,避免因缓存导致的显示问题。
---
### 注意事项
1. **备份文件**:在修改任何核心文件之前,请务必备份原始文件,以便在出现问题时能够快速恢复。
2. **版本兼容性**:上述代码适用于 Dedecms V57_GBK 版本。如果您使用的是其他版本,请根据实际情况调整代码路径和逻辑。
3. **权限问题**:确保服务器对 `DEDEDATA/cache/` 目录具有写入权限,否则可能无法正常删除缓存文件。
---
### 总结
通过以上方法,可以有效解决 Dedecms 广告缓存不更新的问题。这种方法不仅简单易行,还能显著提升用户体验。希望本文能帮助您更好地管理和维护网站的广告功能。
如果您还有其他疑问,请随时留言交流。
谢谢!
标签:
Dedecms 广告缓存 缓存更新 网站优化