程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> dedeCMS調用頂級二級欄目及下三級欄目方法

dedeCMS調用頂級二級欄目及下三級欄目方法

編輯:PHP綜合
①:通過dede調用二級欄目大家都會調用,但要調用三級欄目,就有點麻煩了,如下樣式的三級欄目dede如何調用呢?如下:   ----------------------------------------A級主欄目   +頂級欄目   +二級欄目         +三級欄目(A)         +三級欄目(B)         +三級欄目(C)     +二級欄目         +三級欄目(D)         +三級欄目(E)         +三級欄目(F)   ----------------------------------------B級主欄目   +頂級欄目   +二級欄目(G)   +二級欄目(H)   +二級欄目(I)   {dede:channelartlist typeid=6 row=4} (注:這是頂級欄目id)   {dede:field name='typename'/} (注:這是二級欄目名稱)   {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 0,7'}   [field:typename/]   (注:這是三級欄目的靜態路徑和欄目名稱)   {/dede:sql}   {/dede:channelartlist}   因為[field:typedir /]在數據庫存儲的路徑包括{cmspath}這個字符串,所以我們必須處理一下,就用到織夢(dedecms)自帶的cn_substr這個系統函數,這裡簡要說一下這個函數的參數,@me是當前字段值,也就是取出的[field:typedir /]這個值,200和9表示從第9個字符位置( (不包括這個字符))開始截取200個字符。     {dede:channelartlist typeid='1'} <span><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></span> {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 0,10'} <li><a href='[field:typedir/]' target='_blank'>[field:typename/]</a></li> {/dede:sql}   {/dede:channelartlist}     {dede:channelartlist typeid='1'} <li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></li> {dede:sql sql='Select * from dede_arctype where reid=~id~'} <li><a href='[field:typedir function='str_replace("{cmspath}","",@me)'/]'>[field:typename/]</a></li> {/dede:sql} {/dede:channelartlist}       主欄目調用   {dede:channelartlist typeid=top row=''}   <li><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>   <ul>   {dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,7'}   [field:array runphp='yes']@me = (!empty(@me['reid']) ? "" : "<li><a href='{@me['typedir']}' target='_blank'>{@me['typename']}</a></li>"); [/field:array]   {/dede:sql}   </ul>   </li>   {/dede:channelartlist}   在列表頁和內容頁調用頂級欄目名稱方法   {dede:field.typeid runphp='yes' function="GetTopid(@me)"}   $dsql = new DedeSql(false);   $a="SELECT typename FROM dede_arctype where id=@me";   $arcRow = $dsql->GetOne($a);   @me=$arcRow[typename];{/dede:field.typeid}   根據下級欄目獲得頂級欄目名稱的SQL語句   {dede:field.typeid runphp='yes'}$ID = @me; $sql = "SELECT * FROM `dede_arctype` WHERE id=$ID";$query = mysql_query($sql);$row=mysql_fetch_array($query); $relID = "$row[reid]"; if($relID == 0) {@me = $row[typename];}else{$sql = "SELECT `typename` FROM `dede_arctype` WHERE id=$relID";$query = mysql_query($sql);$row=mysql_fetch_array($query); @me = $row[typename];}{/dede:field.typeid}   怎麼在首頁調用dede子欄目   {dede:channel type='son' typeid='欄目ID'}   <a href="[field:typelink/]">[field:typename/]</a>   {/dede:channel} *
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved