天天看點

怎麼調取dede三級欄目名及欄目下的内容清單

網站根據需要,把地區劃成省-市-文章的層級結構,欄目首頁需要顯示的是

{dede:channelarclist}

省級标題:{dede:field name=‘name’/}

{dede:channel type=‘son’}

市級标題:[field:name/]

{dede:arclist}

該市文章{field:title/}

{/dede:arclist}

{/dede:channel}

{/dede:channelarclist}

即把省級欄目按市分類,并顯示每一個市的文章标題,但是{dede:channel}标簽不能嵌套,是以{dede:arclist}标簽會原樣輸出,解決的辦法:

$typeid = $row[‘id’];

if((class_exists(‘PartView’)))

{

p v = n e w P a r t V i e w ( pv = new PartView( pv=newPartView(typeid);

$text = $likeType;

$text= str_replace(array(’{field’, ‘/}’), array(’[field’, ‘/]’), $text);

p v − > S e t T e m p l e t ( pv->SetTemplet( pv−>SetTemplet(text,‘string’);

$artlist = $pv->GetResult();

$likeType = KaTeX parse error: Expected 'EOF', got '}' at position 10: artlist; }̲ 在/include/tagl…col>1) $likeType .= “\r\n”; (v5.6 是125行 v5.7是156行)在這句話上面加上上面的代碼

問題解決。

有人反應,加了這代碼之後,文章頁有{dede:channel} {/dede:channel} 這個的時候更新不了,于是可以看了下代碼,可以改成這樣:

if($sanji)

{

$typeid = $row[‘id’];

if((class_exists(‘PartView’)))

{

p v = n e w P a r t V i e w ( pv = new PartView( pv=newPartView(typeid);

$text = $likeType;

$text= str_replace(array(’{field’, ‘/}’), array(’[field’, ‘/]’), $text);

p v − > S e t T e m p l e t ( pv->SetTemplet( pv−>SetTemplet(text,‘string’);

$artlist = $pv->GetResult();

$likeType = $artlist;

}

}

然後在channel.lib.php檔案的開頭 global d s q l ; 的 後 面 加 上 dsql; 的後面加上 dsql;的後面加上sanji = $ctag->GetAtt(‘sanji’);

調用的時候變成:

{dede:channelartlist}

{dede:field name=‘typeurl’/} {dede:field name=‘typename’/} //外架構

{dede:channel type=‘sun’ sanji=‘1’}//子架構

[field:typename/]

{dede:arclist row='5' titlelen='39'} //調用文章 連接配接: {field:arcurl/} 标題: {field:title/} {/dede:arclist} {/dede:channel} {/dede:channelartlist} 問題解決。