織夢dedecms聯動菜單通過evalue獲取三級所有的ename的內容(聯動三級的換算方程式) ,
//參數$evalue聯動的值$egroup聯動的別名 。
//獲得聯動全部內容:
function ed_get_enum($evalue,$egroup){
global $db;
//獲取小數點后的數值
$fr=explode(".",$evalue);
//判斷聯動等級
//判斷是否整除500(是則為一級聯動)
if($evalue%500=='0')
{
$rs_top=$db->getOne("select * from dede_sys_enum where evalue='$evalue' and egroup='$egroup'");
$ename_top = $rs_top[ename];
}
//判斷能否整除500 并且沒有小數點(是則為二級聯動)
if($evalue%500!='0' && $fr[1]=='')
{
$rs_son=$db->getOne("select * from dede_sys_enum where evalue='$evalue' and egroup='$egroup'");
$ename_son = $rs_son[ename];
//換算一級聯動
$evalue_top = $evalue-($evalue%500);
$rs_top=$db->getOne("select * from dede_sys_enum where evalue='$evalue_top' and egroup='$egroup'");
$ename_top = $rs_top[ename];
}
//判斷小數點后是否有值(有值則為三級聯動)
if($fr[1]!='')
{
$rs_sec=$db->getOne("select * from dede_sys_enum where evalue='$evalue' and egroup='$egroup'");
$ename_sec = $rs_sec[ename];
//換算二級聯動
//獲取小數點前的數值
$evalue_son = $fr[0];
$rs_son=$db->getOne("select * from dede_sys_enum where evalue='$evalue_son' and egroup='$egroup'");
$ename_son = $rs_son[ename];
//換算一級聯動
$evalue_top =$evalue_son-($evalue_son%500);
$rs_top=$db->getOne("select * from dede_sys_enum where evalue='$evalue_top' and egroup='$egroup'");
$ename_top = $rs_top[ename];
}
//返回聯動
return $ename_top." ".$ename_son." ".$ename_sec;
}
使用方法
{dede:php}
//聯動的evalue值,聯動的字段
echo ed_getSelect('500','nativeplace');
{/dede:php}
[field:nativeplace function="ed_getSelect(@me,'nativeplace')"/]