TopMovable Typeテンプレートタグ > MTIf タグの tag モディファイアでテンプレートタグの値を直接参照する
2008年2月10日

MTIf タグの tag モディファイアでテンプレートタグの値を直接参照する

Posted at February 10,2008 2:12 AM
Category:[テンプレートタグ]
Tag:[, , ]

Movalbe Type 4.1 で、MTIf タグに tag モディファイアがいつのまにか追加されていました。本エントリーで紹介します。

使い方は簡単で、tag モディファイアにテンプレートタグ(ファンクションタグ)を指定すれば、変数のように値を参照できます。

1.基本

<mt:if tag="[ファンクションタグ名]">

指定したテンプレートタグに値がある場合は true、ない場合は false を返却します。

2.サンプル

ファンクションタグの値を MTSetVarBlock タグで一旦変数に取得して判定するケース

<mt:setvarblock name="count"><$MTEntriesCount$></mt:setvarblock>
<mt:if name="count">
     :
</mt:if>

は、

<mt:if tag="MTEntriesCount">
     :
</mt:if>

または

<mt:if tag="EntriesCount">
     :
</mt:if>

と書くことができます。

3.応用

以前紹介した、「ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版)」を少し書き換えてみます。

変更前

<MTIf name="entry_template">
<MTSetVarBlock name="entryid"><$MTEntryID$></MTSetVarBlock>
<MTSetVarBlock name="entrycategory"><$MTEntryCategory$></MTSetVarBlock>
 
<dt class="sidetitle">
Entries of this Category
</dt>
 
<dd class="side">
  <ul>
  <MTEntries category="$entrycategory">
  <MTSetVarBlock name="currententryid"><$MTEntryID$></MTSetVarBlock>
  <MTIf name="currententryid" ne="$entryid">
    <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
  </MTIf>
  </MTEntries>
  </ul>
</dd>
</MTIf>

変更後

<MTIf name="entry_template">
<MTSetVarBlock name="entryid"><$MTEntryID$></MTSetVarBlock>
<MTSetVarBlock name="entrycategory"><$MTEntryCategory$></MTSetVarBlock>
 
<dt class="sidetitle">
Entries of this Category
</dt>
 
<dd class="side">
  <ul>
  <MTEntries category="$entrycategory">
  <MTIf tag="EntryID" ne="$entryid">
    <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
  </MTIf>
  </MTEntries>
  </ul>
</dd>
</MTIf>

少し見通しが良くなりました。

Posted by yujiro   このページの先頭に戻る
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


コメント

書籍の方でいつもお世話になってます。
松岡ともうします。


書籍を読んでいてどうしても分からなかったことがあります。


訪問者さんがコメントを残される際、
「匿名でコメントする」

となっているのですが、
これを消すといいますか、


FC2などの無料ブログサービスのようにするには
どうすれば良いのでしょうか?


「匿名でコメントする」の意味が分かりづらいようで・・

よろしくお願いします。


[1] Posted by 松岡 : February 11, 2008 3:00 PM

>松岡さん
こんばんは。
ご質問の件ですが、「コメント投稿フォームをデフォルトで表示する&「匿名でコメントすることもできます。」の文言を修正する」が参考になれば幸いです。
それではよろしくお願い致します。

[2] Posted by yujiro logo : February 15, 2008 12:09 AM

こんにちは。
書籍を参考にしています。

質問なのですが、

<mt:if tag="MTEntriesCount">
のtagの中身を複数指定することは可能でしょうか。 

例えば、<mt:if tag="MTEntriesCount か MTCategoryCount">
という感じで、~か~があれば、という意味になります。

「|」での区切りも試したのですが、ダメでした。

[3] Posted by 成海 : June 2, 2008 3:23 PM

>成海さん
こんにちは。
ご質問の件ですが、tagモディファイアに複数のタグを指定することはできないので、
それぞれを一旦、別の変数に取得してから判定する、以下のような方法でお試しください。

<$mt:EntriesCount setvar="flag1"$>
<$mt:CategoryCount setvar="flag2"$>
<mt:if test="$flag1 || $flag2">
OK
<mt:else>
NG
</mt:if>

それではよろしくお願い致します。

[4] Posted by yujiro logo : June 10, 2008 2:29 PM

>tagモディファイアに複数のタグを指定することはできないので、
なるほど。
早速教えていただいたソースでトライしてみます!

[5] Posted by 成海 : June 13, 2008 9:12 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12