请注意:此教程只是为了增加系统功能,作改动之前请注意文件与数据的备份,另外,此功能稍微特殊,不注意的话,可能新入文件名与系统已设定的命名规则相同,这就可能造成两个数据内容使用了同一个url地址。
需要准备:
首先需要在数据库的数据表里面添加相关字段以支持功能,小书童使用copyfilename作为字段名。
在数据库里的phome_enewsinfoclass数据表添加字段copyfilename,位置可变,小书童选择在copyflash字段之前。
另附:在添加字段copyfilename时,提示错误,经排查是同表startday、endday两个字段的数据与设定的数据类型不符,修改任意一个都会报错,反正这两个字段的内容不是很重要,采取先删除startday、endday两个字段,注意是同时删除(用一个sql语句),先删一个再删另一个也会报错,俩字段后续记得添加即可。
在文件/e/admin/AddInfoClass.php(只需改动一个地方)的合适位置,添加代码:
<tr>
<td height="23" bgcolor="#FFFFFF">按原文件名入库:</td>
<td height="23" bgcolor="#FFFFFF"><input name="add[copyfilename]" type="checkbox" id="add[copyfilename]" value="1"<?=$r[copyfilename]==1?' checked':''?>><font color="red"><b>(当采集目标的网页文件名命名方式与本站点相同时请勿勾选!!!)</b></font></td>
</tr>
小书童是在图示位置添加的:
效果如图:
在文件/e/class/cjfun.php有三处修改的地方:两个入库function与一个采集规则导出function需引入的字段集
//采集入库
function CjNewsIn($classid,$id,$checked,$uptime,$userid,$username){
……
}
与
//全部采集入库
function CjNewsIn_all($classid,$checked,$uptime,$start,$userid,$username){
……
}
里面原内容:(两者一致)
都改成:
//文件命名
if($cr[copyfilename])
{
$filename = pathinfo(basename($r[oldurl]), PATHINFO_FILENAME);
} else {
$filename=ReturnInfoFilename($cr[newsclassid],$id,$r[filenameqz]);
}
在最后一处:
添加了copyfilename。至此,文件/e/class/cjfun.php修改完毕。
在文件/e/admin/ListInfoClass.php(总共四处地方需要修改)
function AddInfoClass($bclassid,$newsclassid,$add,$ztid,$userid,$username){
……
}
在此function添加如图所示内容代码:
还有:
在下面这个function也作如上修改:
function EditInfoClass($bclassid,$newsclassid,$add,$ztid,$userid,$username){
……
}
如图:
至此,所有修改已完成,可以正常功能使用了。