• 0712-2888027 189-8648-0214
    微信公眾號

    孝感風信網絡科技有限公司微信公眾號

    當前位置:主頁 > 技術支持 > DedeCMS > 織夢dedecms系統首頁調用聯動類別的方法

    織夢dedecms系統首頁調用聯動類別的方法

    時間:2024-03-28來源:風信官網 點擊: 466次

    織夢dedecms系統首頁調用分類信息聯動類別(地區,類型等)的方法如下:

    需要注意:這個方法只適用于dedecms V5.5,V5.6,V5.7

    dede模板系統中默認是沒有辦法調用枚舉名(聯動菜單名稱)的,而只能調用枚舉值,為了方便大家在以后制作模板,今天就給大家帶來一個自定義的全局函數,有了這個函數,以后在調用聯動菜單的時候就非常方便了。
    一、遇到問題描述
    我們知道,聯動菜單它是保存到了附加表里,我們在arclist標簽中,要調用自定義附加表的字段,只能是通過:
    {dede:arclist row='5' channelid='內容模型ID' addfields='自定義字段'}
    insertext
    {/dede:arclist}
    這種方法來調用,比如以下這個實例:
    {dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'}
    <li><span>[field:nativeplace/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
    {/dede:arclist}
    這個的意思是調用普通文章8條,并調用附加表中的nativeplace字段(注意:該字段是聯動類別),但是調用的結果就是枚舉值,是數字,不是地區。

    二、解決方法
    1)函數編寫

    打開 /include/extend.func.php 文件(這個文件為自定義函數接口文件,若不存在,請自行創建),在最后一行的?>上添加如下代碼:
    function Getsysenum($fields){
    global $dsql;
    $row = $dsql->GetOne("select * from dede_sys_enum where evalue = '".$fields."'");
    if(!is_array($row)){
    return "<font color='red'>聯動類別不存在</font>";
    }
    else{
    return $row['ename'];
    }
    }

    保存關閉即可!
    2)函數調用

    這個函數的調用非常簡單,只需要將“枚舉值”傳遞過來即可,這個緩存組名通常也就是內容模型中的自定義聯動菜單字段名:

    function Getsysenum(‘枚舉值');
    3)調用實例

    我們來看一下調用的實例代碼:
    {dede:arclist titlelen='60' row='8' channelid='1' addfields='nativeplace'}
    <li><span>[field:nativeplace function="Getsysenum(@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
    {/dede:arclist}

    其中[field:nativeplace function="Getsysenum(@me)"/] 就是將nativeplace字段進行Getsysenum函數處理。

    這樣就可以解決這個調用的問題了。

    欄目列表
    推薦內容
    熱點內容
    展開
    动漫h精品无码一区二区三区,欧美日韩精品一区二区,午夜麻豆国产精品,加勒比中文字幕无码,亚洲日本va中文字幕区