织梦联动类别-地区调用不显示第三级城市的原因
1、附加表dede_addoninfos 或者 你的其他表中的字段nativeplace数据类型为int型,无法保存第三级城市对应的的evalue值(比如:东山区 对应的 10001.001)
2、枚举表dede_sys_enum中的第三级城市对应evalue值错误(比如:东山区 10001.1 应该为 东山区 10001.001)
织梦联动类别-地区调用不显示第三级城市的解决方法
1、修改附加表dede_addoninfos或者你的其他表中的字段nativeplace把它的数据类型为char型
后台-系统-SQL命令行工具,执行一下这个语句
ALTER TABLE dede_addoninfos CHANGE nativeplace nativeplace CHAR( 20 ) NOT NULL DEFAULT '0'
注意:dede_addoninfos 是你的附加表名,如果你是其他模型记得改成你的
2、修正枚举表dede_sys_enum所有第三级城市对应的 evalue值
打开 /include/enums.func.php 找到
foreach($egroups as $egroup)
在它上面加入
if($egroup == 'nativeplace' || $egroups['nativeplace'] == 'nativeplace') { $dsql->SetQuery("SELECT id,evalue FROM `dede_sys_enum` WHERE egroup='nativeplace'"); $dsql->Execute(); while($row = $dsql->GetArray()) { $res[]= $row; } 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 `dede_sys_enum` SET evalue=".$v['evalue'] ." WHERE id=".$v['id']; $dsql->ExecuteNoneQuery($sql); } } }
最后在后台-联动类别管理-更新一下【地区】的更新缓存
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦联动类别地区调用不显示第三级城市的解决方法