kate

EntryPreviousとEntryNextの動作について

0

EntryPreviousとEntryNextのタグ位置によって、機能する場合と機能しない場合がありました。

-----------------------------

【機能する場合】
<mt:If tag="EntryPrevious">
<article class="pager-prev">
<mt:EntryPrevious>
<a href="<$mt:EntryPermalink encode_html="1"$>">
<h2><$mt:EntryTitle$></h2>
<figure>
<mt:EntryAssets type="image" lastn="1">
<img src="<$mt:AssetThumbnailURL width="200" square="1"$>" alt="">
</mt:EntryAssets>
</figure>
</a>
</mt:EntryPrevious>
</article>
<mt:Else>
<span class="pager-prev"></span>
</mt:If>

【機能しない場合】
<mt:If tag="EntryPrevious">
<mt:EntryPrevious>
<article class="pager-prev">
<a href="<$mt:EntryPermalink encode_html="1"$>">
<h2><$mt:EntryTitle$></h2>
<figure>
<mt:EntryAssets type="image" lastn="1">
<img src="<$mt:AssetThumbnailURL width="200" square="1"$>" alt="">
</mt:EntryAssets>
</figure>
</a>
</article>
</mt:EntryPrevious>
<mt:Else>
<span class="pager-prev"></span>
</mt:If>

-----------------------------

前後の記事があるかどうかで出力を分けたかったので、それぞれifタグで囲ってます。

EntryPreviousとEntryNextのタグ位置によっての差異は、何が原因と考えられますでしょうか。
お分かりの方、ご教授ください。

返信(2)

| 返信する
  • >kateさん
    こんにちは。

    直接の回答ではありませんが、MTIfタグのtagモディファイアは、おそらくファンクションタグを指定することを想定していると思います(ブロックタグは指定しない方が良い)。
    上げられた例だと、以下のようにテンプレートを書くと良いでしょう。

    <$mt:SetVar name="is_previous" value="0"$>
    <mt:EntryPrevious>
      前の記事があるときに出力する内容
      <$mt:SetVar name="is_previous" value="1"$>
    </mt:EntryPrevious>
    <mt:If name="is_previous" eq="0">
      前の記事がないときに出力する内容
    </mt:If>
    
  • >壱さん
    こんにちは。ご回答ありがとうございます。

    とても腑に落ちるご回答でした。
    確かにブロックタグでは正確な判定ができないのかもしれませんね。

    教えていただいた方法を使わせていただこうと思います。

返信する


OpenID対応しています OpenIDについて