MTIfNonZeroタグでコメント表示方法を制御する
Tag:[]
個別エントリーアーカイブの中で、「トラックバック数が0件でなければトラックバックを表示する」ために利用する
- MTIfNonZero
というタグが使われています。このタグを使うとちょっとした条件分岐ができ、ページへの表示を制御することができます。
参照サイトは下記です。ありがとうございました。
このエントリーでは MTIfNonZero タグを利用して、コメント投稿数が0件の時に
- 個別エントリーアーカイブの「コメント」タイトルを表示しない
- 個別エントリーアーカイブの「コメント」タイトル下に「コメントがありません」という表示をする
の2通りの方法を紹介します。私のサイトは下の方法でカスタマイズしてみました。
「コメント」タイトルを表示しない
個別エントリーアーカイブテンプレートの下記の部分に青色のタグを挿入すれば、コメントが0件の場合にコメントのタイトルを非表示にすることができます。</MTIfNonZero> の挿入位置は「コメント」と書かれた次の行でも問題ないと思いますが、コメント表示タグ全体を括らないのはスッキリしないので個人的には下記を推奨します。
:
<MTEntryIfAllowComments>
<MTIfNonZero tag="MTEntryCommentCount">
<div id="comments" class="comments-head"><a name="comments"></a>コメント</div>
<MTComments>
<a name="<$MTCommentID$>"></a>
<div id="c<$MTCommentID$>" class="comments-body">
<$MTCommentBody$>
<div class="comments-post">Posted by <$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity> at <$MTCommentDate$></div>
</div>
</MTComments>
</MTIfNonZero>
<MTEntryIfCommentsOpen>
:
意味的には、MTIfNonZero の tag属性 MTEntryCommentCount(=エントリーのコメント数)が0でなければ <MTIfNonZero>~</MTIfNonZero> で囲まれた部分を表示(厳密には有効に)する、というものです。
「コメント」タイトル下に「コメントがありません」という表示をする
上記同様、青色のタグを該当位置に挿入すれば、コメントが0件の場合にコメントのタイトル下に「コメントがありません。」というメッセージを表示することができます。タイトルはいずれの場合も表示するので MTIfNonZero タグの中に入れないようにします。divタグは公開テンプレート用に併せて書いてありますので適宜変更してください。
:
<MTEntryIfAllowComments>
<div id="comments" class="comments-head"><a name="comments"></a>コメント</div>
<MTIfNonZero tag="MTEntryCommentCount">
<MTComments>
<a name="<$MTCommentID$>"></a>
<div id="c<$MTCommentID$>" class="comments-body">
<$MTCommentBody$>
<div class="comments-post">Posted by <$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity> at <$MTCommentDate$></div>
</div>
</MTComments>
<MTElse>
<div class="comments-body">コメントはまだありません。</div>
</MTElse>
</MTIfNonZero>
<MTEntryIfCommentsOpen>
:
この処理をおおざっぱに書くと
<MTIfNonZero tag="MTEntryCommentCount">
:
コメントが0件でない時の処理を記述
:
<MTElse>
:
コメントが0件の時の処理を記述
:
</MTElse>
</MTIfNonZero>
という感じになります。MTElse というタグは MTIfNonZero の条件にマッチしなかった場合のものを有効にするためのタグです。
- Movable Type検索結果画面のMTIncludeタグでファイルを読み込む方法
- Movable Typeの月別コンテンツアーカイブリスト用テンプレート
- コンテンツデータでMTEntriesWithSubCategoriesの代替テンプレートタグ
- MTContentFieldタグの使い方
- Movable Typeでブログ記事一覧をカスタムフィールドでソートする方法
- MTの本文フィールドからimg要素のURLを取得する方法
- MTEntriesタグで指定した数の記事を除外して表示する方法
- Movable Typeのテンプレートタグの中でテンプレートタグを使う方法
- Movable Typeのテンプレートタグをテンプレートで生成する方法
- Movable TypeのMTEntriesタグで特定の複数ブログ記事を出力する方法
- Movable TypeでCSVデータからtable要素を作る方法
- MTIncludeタグのnameモディファイア
- Movable Type(MT)の特殊変数の入れ子
- ブロックタグにelseタグを組み込んで判定する
- Movable Type 5 におけるウェブサイトとブログの複数指定方法
≫ 「コメントはまだありません。」表示 from やむやむ
小粋空間 さまの MTIfNonZeroタグでコメント表示方法を制御する を真似... [続きを読む]
≫ カスタマイズ vol.36 from G@MANIA ver.MT - CODE:Hyena -
コメント、トラックバックがない場合はリンクを非表示する Movable Typeのデフォルトの状態だとリンク、トラックバックがない場合でもMain Indexな... [続きを読む]
≫ MTIfNonZeroタグでコメント表示方法を制御する from MandraChips
【小粋空間】さんの【MTIfNonZeroタグでコメント表示方法を制御する】記事... [続きを読む]
「コメントはまだありません。」のほうを真似しました。
いいですね、これ。「コメント」っていうタイトルだけあって、中身がないのって なんとなく気になってました。
>さえらさん
こんばんは。
早速のご利用ありがとうございます。
「トラックバック表示制御はデフォルトで設定されているのに…」というところで、ふと思い立ちました。
サイトを訪れた方には分かりやすい機能だと思います。
トラックバックありがとうございます。
便利なタグだと思うんですが、そんなに広まってない気はします。
「コメントありません」ばっかだとたしかに悲しいかも、。とも思いますし。
賛否分かれそうなタグな予感もします。
>みよたんさん
こんばんはー。
古ネタ使わせていただきました。
結構便利だと思うのですが表示方法はケースバイケース、といったところですね。