dede第 3 レベルの列名とその列の下のコンテンツ リストを取得するにはどうすればよいですか?
Web サイトでは、必要に応じて地域を省、都市、記事の階層構造に分割していますが、タイトルの通り、dede はどのようにして第 3 レベルの列名とその列の下にあるコンテンツ リストを取得するのでしょうか。具体的な実装は次のとおりです。興味のある方は次を参照してください。
推奨される研究: 梦Weavercms
Web サイトでは、地域が州、都市、記事の階層構造に分割されています。必要に応じて、コラムのホームページに表示する必要があるのは
コードは次のとおりです:
{dede:channelarclist} <!--省显示--> <a href="">省级标题:{dede:field name='name'/}</a> {dede:channel type='son'} <a href="">市级标题:[field:name/]</a> {dede:arclist} 该市文章{field:title/} {/dede:arclist} {/dede:channel} {/dede:channelarclist}
つまり、地方のコラムを都市ごとに分類し、各都市の記事タイトルを表示しますただし、{dede:channel} タグはネストできないため、{dede:arclist} タグがそのまま出力されます。解決策:
コードは次のとおりです:
$typeid = $row['id']; if((class_exists('PartView'))) { $pv = new PartView($typeid); $text = $likeType; $text= str_replace(array('{field', '/}'), array('[field', '/]'), $text); $pv->SetTemplet($text,'string'); $artlist = $pv->GetResult(); $likeType = $artlist; }
Find if($col>1) in /include/taglib/channel.lib.php $likeType .= "\r\n"; (v5.6 は 125 行、v5.7 は 156 行)この文に上記のコードを追加します。
問題は解決しました。
このコードを追加した後、記事ページに {dede:channel} {/dede:channel} が含まれていると更新できないと報告している人もいます。そのため、コードを確認して次のように変更できます。
コードは次のとおりです:
if($sanji) { $typeid = $row['id']; if((class_exists('PartView'))) { $pv = new PartView($typeid); $text = $likeType; $text= str_replace(array('{field', '/}'), array('[field', '/]'), $text); $pv->SetTemplet($text,'string'); $artlist = $pv->GetResult(); $likeType = $artlist; } }
次に、channel.lib.php の先頭の global $dsql; の後に $sanji = $ctag->GetAtt('sanji'); を追加します。ファイル
呼び出されると、次のようになります:
コードは次のとおりです:
{dede:channelartlist} {dede:field name='typeurl'/} {dede:field name='typename'/} //外框架 {dede:channel type='sun' sanji='1'}//子框架 <h3><a href="[field:typelink/]" target="_blank">[field:typename/]</a></h3> {dede:arclist row='5' titlelen='39'} //调用文章 连接: {field:arcurl/} 标题: {field:title/} {/dede:arclist} {/dede:channel} {/dede:channelartlist}
問題は解決しました。
以上がdede は、第 3 レベルの列名とその列の下のコンテンツ リストをどのように取得しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。