在使用DedeCMS进行内容管理时,许多用户可能会遇到这样一个问题:每次填写文章来源后,系统并未自动保存,需要手动设置才能将其添加到文章来源列表中。这一过程显得较为繁琐,因此,我们可以通过添加自动保存文章来源的功能来简化操作流程。如果来源已存在于列表中,则不会重复添加;若不存在,则会自动加入列表。以下是实现该功能的具体步骤:

首先,我们需要对DedeCMS的两个核心文件进行修改。打开 dede/arcticle_add.phpdede/arcticle_edit.php 文件,并找到以下代码:


if(!TestPurview('a_Check,a_AccCheck,a_MyCheck'))
    

接着,在上述代码之前插入以下代码片段:


/* 把来源写进文件 */
$m_file = DEDEDATA."/admin/source.txt";
$file_handle = fopen($m_file, "r");
while (!feof($file_handle)) {
    $lines[] = trim(fgets($file_handle));
}
fclose($file_handle); 
$fp = fopen($m_file,'a');
flock($fp,3);
if(!in_array(trim($source), $lines)){
    fwrite($fp," ".$source);
}
flock($fp,3); 
fclose($fp); 
    

以上代码的作用是检查当前文章的来源是否已经存在于 source.txt 文件中。如果不存在,则将新的来源追加到文件末尾;如果已存在,则跳过写入操作。

需要注意的是,source.txt 文件应位于 DEDEDATA/admin/ 目录下。如果该文件尚未创建,请手动创建一个空文本文件,并确保其具有适当的读写权限。

通过以上步骤,您可以轻松实现DedeCMS后台文章来源的自动保存功能。这不仅能够提高工作效率,还能够避免因忘记手动设置而导致的数据丢失问题。

最后,建议在修改任何核心文件前做好备份工作,以免出现意外情况影响网站正常运行。

希望这篇教程能帮助您更高效地使用DedeCMS!如果您有任何疑问或需要进一步的帮助,请随时联系技术支持团队。