dedecms 5.6 首頁調(diào)用聯(lián)動類別,需要的朋友可以參考下。
實現(xiàn)方法:
第一步:channelunit.func.php中添加如下函數(shù)
//參數(shù)說明:第1個參數(shù)是從信息表里讀取出來的類別ID,第2個參數(shù)是聯(lián)動菜單類別 //這樣這個函數(shù)就不限于只調(diào)用分類信息的信息類別了,還可以用于其它地方 function GetInfoType($tid,$bigt) { global $dsql; $typename = ''; $query = "Select ename From `dede_sys_enum` where evalue=$tid and egroup='$bigt'"; $dsql->Execute('ename',$query); while($row = $dsql->GetArray('ename')) { $typename .= ($typename=='' ? $row['ename'] : ','.$row['ename']); } return $typename; } //------------------ Add By CxChina.Com ----- End ------------------------- 復制代碼 (V5.3)加到\include\common.func.php文件的 class="quote">
//自定義函數(shù)接口
上面。
第二步:在前臺頁面請用 class="quote">
{dede:arclist row=14 titlelen=32 noflag='h' addfields='nativeplace' channelid='1'}
<li>[[field:nativeplace function=GetInfoType(@me,'nativeplace')/]] <a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
來調(diào)試。
代碼解釋:
1.addfields='nativeplace' channelid='1'這個是調(diào)用的附加表字段;
①. 為什么要調(diào)用附加表字段?
因為聯(lián)動菜單的值就是存到附加表里面的,你仔細想想你有沒有自己加過自定義聯(lián)動菜單字段!
②. channelid參數(shù)是什么意思?
告訴解析函數(shù)你的附加表在哪個表!這里告訴的是附加表的ID,那么內(nèi)容模型里面的ID對應的附加表你相信程序會自動幫你找到的。
2.[field:nativeplace /] 這一個就是調(diào)用的文檔聯(lián)動菜單的枚舉值。附加表存儲的也就是聯(lián)動類別里對應的枚舉值的值而已。
3. function=GetInfoType 這個就是我們上面的自定義函數(shù)調(diào)用!這點是不能變的。
4.(@me,'nativeplace') 這里面有兩個變量,第一個為@me 它的意思是當前值,固定不變的,說白了就是告訴我們上面那個自定義函數(shù)要查詢的枚舉值的值。第二個,是聯(lián)動菜單的緩存組名,一般與前面的那個[field:nativeplace/]中的紅色nativeplace 字段名保持一致即可。