使用火车头采集发布的时候发现帝国CMS的多值字段,播放地址onlinepath、下载地址downpath没办法进行入库操作。原因是帝国火车头采集发布模块对接的PHP接口使用的是帝国CMS原生POST函数方法进行的传参,很多字段传入的时候函数会进行过滤转移变换组合,那么解决这个问题的方法就是不让他去传参组合在入库,直接进行入库操作就行了!方法如下:
打开文件/e/class/functions.php
1.针对多值字段:
查找:(注意有两个,只改第一个)
$add[$f]=ReturnMoreValueAddF($add,$add[$f],$modid,$f,$do);//多值
改成:(picmore为你的多值字段名称)
if($f=="picmore"){ $add[$f]=$add['picmore']; }else{ $add[$f]=ReturnMoreValueAddF($add,$add[$f],$modid,$f,$do);//多值 }
2.针对播放地址onlinepath字段:
查找:
$value=ReturnDownpath($add['odownname'],$add['odownpath'],$add['odelpathid'],$add['opathid'],$add['odownuser'],$add['ofen'],$add['othedownqz'],$add,$add['oforuser'],$add['onlineurl_qz'],0);
改成:
$value=$add['onlinepath'];
3.针对下载地址downpath字段:
查找:
$value=ReturnDownpath($add['downname'],$add['downpath'],$add['delpathid'],$add['pathid'],$add['downuser'],$add['fen'],$add['thedownqz'],$add,$add['foruser'],$add['downurl_qz'],0);
改成:
$value=$add['downpath'];
以上修改后请使用原始库内数据结构进行发布(可后台发布测试后去数据库获取数据结构),比如播放字段依然为:播放名称1::::::播放地址1::::::用户组ID::::::点数::::::播放名称2::::::播放地址2::::::用户组ID::::::点数::::::