織夢dedecms聯動類型地區聯動及省份-市級-地區分開+高亮
1.修復官方聯動地區後臺編輯文檔時三級地區無法顯示問題;
2.修復前臺聯動地區在選擇二級和三級時數據空白問題;
3.省市區分開調用
1、後臺-系統-SQL命令行工具,執行一下這個語句
ALTER TABLE dede_addoninfos CHANGE nativeplace nativeplace CHAR( 20 ) NOT NULL DEFAULT '0'
注意:dede_addoninfos 是你的附加表名,如下圖
2、下載下面打包文件,覆蓋進對應的目錄,覆蓋之前請做好備份!
\images\enums.js
\include\arc.sglistview.class.php
\include\taglib\infolink.lib.php
文件打包下載(gbk + utf8)
雲盤下載 鏈接:https://pan.baidu.com/s/11gBHmlePMZO2scQEirpiUQ 提取碼:2rxr
3、覆蓋文件後需要清空瀏覽器臨時文件,刷新後臺,重新編輯和添加文檔,保存。
4、省市區分開調用標籤
{dede:infolink}
<p>
<b>省份:</b>[field:linkallplace/]
</p>
<p>
<b>市級:</b>[field:nativeplace /]
</p>
<p>
<b>地區:</b>[field:county /]
</p>
{/dede:infolink}
以上是5.7版本,下面是其他的版本處理方法
後臺 信息類型 後面出現亂碼
/templets/system/custom_fields_admin.htm
修改文件的編碼
後臺三級分類不顯示
/include/customfields.func.php
$myformItem .= "<span id='span_{$fieldname}_son'></span>\r\n";
下面增加
$myformItem .= "<span id='span_{$fieldname}_sec'></span>\r\n";
搜索 else if($dtype=='stepselect')
將
else if($dtype=='stepselect')
{
return trim($dvalue);
}
替換爲
else if($dtype=='stepselect')
{ $dvalue = trim(preg_replace("#[^0-9\.]#", "", $dvalue));
return $dvalue;
}
處理dedecms設置爲封面後,處理
1、出現不能選改欄目
/inc/inc_catalog_options.php
大約69行
搜索
if($row->ispart==0 &&(!empty($channeltype) && $row->channeltype==$channeltype) )
替換爲
if((!empty($channeltype) && $row->channeltype==$channeltype) )
2、提示不能在該欄目下發布 處理
archives_sg_add archives_sg_edit
if(!CheckChannel($typeid,$channelid) )
{
ShowMsg("你所選擇的欄目與當前模型不相符,請選擇白色的選項!","-1");
exit();
}
註釋
在地區上的顯示處理
/include/taglib/channel/stepselect.lib.php
return $GLOBALS['em_'.$egroup.'s'][$erevalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$evalue];
替換爲
return $GLOBALS['em_'.$egroup.'s'][$evalue];
在地區上,後面增加文字 /include/taglib/infolink.lib.php
修改dede後臺更新地區更新枚舉緩存方式:
1、修改文件 地址/include/enums.func.php
大約 39行
fwrite($fp,"\$em_{$egroup}s[{$nrow['evalue']}] = '{$nrow['ename']}';\r\n");
替換爲
fwrite($fp,"\$em_{$egroup}s['{$nrow['evalue']}'] = '{$nrow['ename']}';\r\n");