我們在制作DEDE的模板的時候經(jīng)常需要用到調用上一級欄目的欄目名稱和欄目鏈接,網(wǎng)上找了一大堆辦法,終于實現(xiàn)這個效果
方法如下:
<a href="{dede:field.typeid runphp='yes'"} global $dsql ; $reid = $dsql->GetOne("SELECT reid FROM dede_arctype whereid=@me"); $reid = $reid['reid']; $typename = $dsql->GetOne("SELECT typedir FROM dede_arctype where id=$reid"); @me=str_replace('{cmspath}','',$typename['typedir']);{/dede:field.typeid}" >{dede:field.typeid runphp='yes'"} global $dsql ; $reid = $dsql->GetOne("SELECT reid FROM dede_arctype whereid=@me"); $reid = $reid['reid']; $typename = $dsql->GetOne("SELECT typename FROM dede_arctype where id=$reid"); @me=$typename['typename'];{/dede:field.typeid}</a>
其中紅色字體為欄目鏈接調用,藍色字體為欄目名稱調用
當然還有別的調用方式及辦法,詳見如下
調用當前欄目的名稱
{dede:field name="typename"}
調用該頂級頻道下所有子欄目,row代表調用5條
{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}
調用子欄目的當前頂級欄目名稱
{dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}
N級子欄目調用最上級欄目名稱
{dede:field name='position' runphp='yes'}$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //調用位置分隔符
$tf=split($tw,@me); //分解成數(shù)組
$ta=1;$tk=trim($tf[$ta]);$tk=substr($tk,0,-2);@me=$tk; //賦值給@me
{/dede:field}
N級子欄目調用上級欄目名稱
方法1:
{dede:field name='position' runphp='yes'}$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //調用位置分隔符
$tf=split($tw,@me); //分解成數(shù)組
$ta=(count($tf)-3);$tk=trim($tf[$ta]);@me=$tk; //賦值給@me
{/dede:field}
方法2:
<a href= {dede:field.typeid runphp='yes'"} global $dsql ; $reid = $dsql->GetOne("SELECT reid FROM dede_arctype whereid=@me"); $reid = $reid['reid']; $typename = $dsql->GetOne("SELECT typedir FROM dede_arctype where id=$reid"); @me=str_replace('{cmspath}','',$typename['typedir']);{/dede:field.typeid} >{dede:field.typeid runphp='yes'"} global $dsql ; $reid = $dsql->GetOne("SELECT reid FROM dede_arctype whereid=@me"); $reid = $reid['reid']; $typename = $dsql->GetOne("SELECT typename FROM dede_arctype where id=$reid"); @me=$typename['typename'];{/dede:field.typeid}</a>
調用指定欄目
{dede:type typeid='欄目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type}
DEDE標題欄:文章標題-2級欄目-1級欄目-網(wǎng)站名”樣式顯示
{dede:field name='title'/}-{dede:field name='position' runphp='yes'}$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //調用位置分隔符
@me=html2text(@me); //去除html標簽
$tf=split($tw,@me); //分解成數(shù)組
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循環(huán)賦值給$tk
$tk.=trim($tf[$ta]).$tc;}$tk=substr($tk,0,-1);@me=$tk; //賦值給@me
{/dede:field}-{dede:global name='cfg_webname'/}
下面是調用頂級欄目名稱的方法:
方法一:
{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} |
這個方法語句有些長。
本頁內容由塔燈網(wǎng)絡科技有限公司通過網(wǎng)絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網(wǎng)頁中由涉嫌抄襲的內容,請及時與我們聯(lián)系,并提供相關證據(jù),工作人員會在5工作日內聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權內容。本文鏈接:http://m.jstctz.cn/4374.html