zoukankan      html  css  js  c++  java
  • 织梦联动类别-地区调用不显示第三级城市的解决方法

    织梦联动类别-地区调用不显示第三级城市的原因

    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 `#@_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 `#@_sys_enum` SET evalue=".$v['evalue'] ." WHERE id=".$v['id'];
    			$dsql->ExecuteNoneQuery($sql);
    		}
    	}
    }

    最后在后台-联动类别管理-更新一下【地区】的更新缓存

  • 相关阅读:
    P2154 [SDOI2009]虔诚的墓主人 树状数组
    P2564 [SCOI2009]生日礼物 贪心
    P2053 [SCOI2007]修车 费用流
    P1963 [NOI2009]变换序列 倒叙跑匈牙利算法
    P3705 [SDOI2017]新生舞会 分数规划 费用流
    gym/102091
    P2698 [USACO12MAR]花盆Flowerpot 单调队列
    乌龟棋
    旅行家的预算
    组合数问题
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9914003.html
Copyright © 2011-2022 走看看