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

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

藏色散人
リリース: 2019-12-02 09:44:14
オリジナル
1697 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート