ホームページ >CMS チュートリアル >DEDECMS >notypeid 属性を DreamWeaver artlist タグに追加して列フィルタリングを実装する方法

notypeid 属性を DreamWeaver artlist タグに追加して列フィルタリングを実装する方法

藏色散人
藏色散人オリジナル
2019-12-02 09:44:141714ブラウズ

notypeid 属性を DreamWeaver artlist タグに追加して列フィルタリングを実装する方法

notypeid 属性を DreamWeaver アートリスト タグに追加して列フィルタリングを実装するにはどうすればよいですか?

DreamWeaver のタグ機能は非常に強力で、これらのタグを使い慣れていれば、フォアグラウンドでさまざまな形式のバックグラウンド データを簡単に呼び出すことができます。もちろん、技術を理解し、DreamWeaver のラベルを改善できれば、さらに完璧になります。

推奨される調査: 梦Weavercms

私は最近、小規模サイトの列を拡張および細分化し、元の 7 つの第 1 レベル列から 10 列に拡張しました。レベル列に加えて、コンテンツ管理を向上させるために、各第 1 レベル列がさらに 4 ~ 8 個の第 2 レベル列に分割されます。

しかし、問題が発生しました。トップページの最新記事リストに列の 1 つを表示したくないのですが、DreamWeaver の従来の方法では、arclist タグの typeid 属性を変更することになります。カラムIDはすべて設定されているのですが、カラムIDが多すぎて今後メンテナンスが面倒なので、arclistがflagとnoflagをサポートしているのであれば、typeidとnotypeidもサポートすべきではないでしょうか?

ソース コードをテストしてトレースした結果、Notypeid が Dreamweaver でサポートされていないことがわかりました。どうすればよいですか?自分で書いてください!

/include/taglib/arclist.lib.php ファイルを開いて、次のコード (約 130 行目) を探します。

return lib_arclistDone 
       ( 
         $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen, 
         $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby, 
         $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid, 
         $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'), 
         $tagid,$pagesize,$isweight         
     );

最後の括弧の末尾に追加します (カンマに注意してください)フロント):

,$ctag->GetAtt('notypeid')

次に、次のコード部分 (約 168 行目) を見つけます:

function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160, 
        $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='', 
        $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')

角かっこの最後に追加します (先頭のカンマに注意してください):

,$notypeid=0

やっと見つけた この文:

$orwheres[] = ' arc.arcrank > -1 ';

その前に次のコードを追加します:

if(!empty($notypeid))  
{ 
    $orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")"; 
}

このようにして、コードが変更されます。保存後、arclist タグの notypeid 属性を試してください。多くの列と複雑なコンテンツ表示がある Web サイトの場合、この属性は非常に実用的です。

使用法:

コードは次のとおりです:

{dede:arclist row=6 orderby=pubdate type='image.' imgwidth='108' imgheight='150' channelid='1' notypeid='9'}

以上がnotypeid 属性を DreamWeaver artlist タグに追加して列フィルタリングを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。