织梦地区联动调用不显示第三级城市解决方法:
1.附加表addoninfos中的字段nativeplace类型为int型,无法保存第三级城市对应的的evalue值(比如: 东山区 对应的 10001.001)
2. 表sys_enum中的第三级城市对应evalue值错误(比如:东山区 10001.1 应该为 东山区 10001.001)
解决方法:
1.修改该字段类型为char型:
后台 SQL运行工具里执行下面的语句
alter table `addoninfos` modify column nativeplace char(20);
2.修改表sys_enum所有第三级城市对应的 evalue值
----------------代码-------------------------------------------------------------------
<?php require_once(dirname(__FILE__)."/../include/common.inc.php"); $dsql->SetQuery("select id,evalue from `sys_enum` where egroup='nativeplace'"); $dsql->Execute(); while($row = $dsql->GetArray()) { $res[]= $row; } $r = 0; foreach ($res as $k=>$v) { if (preg_match("#([0-9]{1,})\.([0-9]{1,})#", $v['evalue'], $matchs)) { $valKey = $matchs[1] + $matchs[2] / 1000; $v['evalue'] = $valKey; $sql ="update `sys_enum` set evalue=".$v['evalue'] ." where id=".$v['id']; $r += $dsql->ExecuteNoneQuery2($sql); } } echo "sql执行成功 修改了".$r."条记录"; ?>
-----------------------------------------------------------------------------------------------------------------
新建一个.php文件,复制以上代码在网站目录下执行即可
3.修改成功后,在后台联动类别管理中更新一下缓存
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦地区联动调用不显示第三级城市解决方法