因为网上的教程全都只写一半,关键的地方全部收钱,而且全都是互相采集,卵用没有。所以,我以自己的方式,补充了网上那些垃圾引流教程的后半部分的关键区域,将蚂蚁分类信息系统5.9增加二级分类功能,并且实现从后台到前台,从编辑到查询全部功能实现,主要的代码我会放在文章中提供下载。
最近主要是在帮朋友研究这个系统,真的是资料越查火气越大。
不过商业使用的话,请去购买官方正版,我这个只是二开思路和二开部分代码,不提供官方源码下载
。
第一步:后台地区添加支持
这里主要是搬运网上的内容,而网上的内容,也真就只有这部分。
1.编辑后台文件/mayicms/template/area_add.tpl.php,25行替换成如下:
<?=cat_list('area',0,0,true,1)?>
2.编辑后台文件/mayicms/template/area_edit.tpl.php,38行增加如下:
<?=cat_list('area',0,$area[parentid],true,1)?>
第二步:数据库修改和文件支持
在进行如下操作前,请先备份代码,因为涉及文件替换。
1.打开数据库,找到my_information表,在areaid后增加一个字段streetid。
2.下载如下的压缩包,将解压出来的两个php文件丢在网站根目录。
这两个文件一个负责查询筛选,一个负责添加和修改信息。这里如果有伪静态需求的,可以找到category.php文件的如下代码区域(文件中,有两段相同的代码,所以要改要改两处地方105行和141行),将$street_list[$key]['uri']自己根据字段拼接成需要的伪静态格式。另外,如果数据库前缀不是默认的my_,也记得修改文件中的数据库语句。
$selected = $areaid;
$street_list = array();
if($selected>0){
$street_sql ="SELECT areaid, areaname, parentid, areaorder FROM `my_area` where parentid ='{$selected}' GROUP BY areaorder ASC";
$street_list = $res = $GLOBALS['db']->getAll($street_sql);
if($street_list && is_array($street_list)){
foreach($street_list as $key => $val){
$street_list[$key]['select'] = $val['streetid'] == $streetid ? '1' : 0;
foreach($allow_identifiers as $keys){
$street_list[$key]['uri'] = "/category.php?catid=".$catid."&areaid=".$areaid."&streetid=".$street_list[$key]['areaid'];
}
}
}
}
3.下载如下的压缩包,覆盖到后台目录/mayicms/下。这里的代码是实现后台修改信息时支持多级分类。
如果数据库前缀不是默认的my_,可以在information_edit.tpl.php中进行修改,关键代码如下:
$select_where_option_sql ="SELECT areaid, areaname, parentid, areaorder FROM `my_area` where parentid = 0 GROUP BY areaorder ASC";
$select_where_option= $db->getAll($select_where_option_sql);
$areaid = $select_where_option;
$selectid = isset($select_where_option[0]["areaid"]) ? intval($select_where_option[0]["areaid"]) : 0;
$street_list_sql ="SELECT areaid, areaname, parentid, areaorder FROM `my_area` where parentid != 0 GROUP BY areaorder ASC";
$street_list = $db->getAll($street_list_sql);
4.下载如下压缩包,将文件覆盖至/template/default中,替换原有的两个html,实现前台发布,修改,查询的多级分类支持。
3.zip
第三步:清除系统缓存,测试访问效果
在蚂蚁分类信息系统的后台,清除系统所有缓存后,前台就可以查看最终效果,我截图了一些。
最后
所有的修改我没有花太多心思,因为比较忙。所以实际上,它只是能用,但是还有很大的优化空间,具体的可以根据我教程自己琢磨吧。