t-yama

アーカイブパスでの内容分岐は可能ですか?

0

ご質問です。

例えば、
記事アーカイブのテンプレートにて、

test1/%-C/%-f
test2/%-C/%-f
test3/%-C/%-f

という風に、1つのテンプレートにてアーカイブパスを3通り作っている場合に、

<mt:If アーカイブパス="test1/%-C/%-f">
test1の内容
<mt:ElseIf アーカイブパス="test2/%-C/%-f">
test2の内容
<mt:Else>
test3の内容
</mt:If>

のように分岐させることは可能でしょうか?

ご存知の方がいらっしゃいましたら、ご教授願えれば幸いです。
以上、宜しくお願いいたします。

返信(10)

| 返信する
  • >t-yamaさん
    こんにちは。

    お書きになったような機能はありません。
    MT標準の機能で行うとすれば、以下のような手順が考えられます。

    1.記事アーカイブテンプレートを3つ作ります。
    2.1番目の記事アーカイブテンプレートの内容は以下のようにします。

    <$mt:SetVar name="type" value="type1"$>
    <$mt:Include module="記事アーカイブテンプレート共通部分"$>


    3.2番目/3番目の記事アーカイブテンプレートも、上と同じような内容にします。ただし、変数typeに代入する値をそれぞれ別にします。
    4.「記事アーカイブテンプレート共通部」のテンプレートモジュールを作り、その中で変数typeお値で条件判断して出力を分けます。

    • to Fujimoto sama

      >1.記事アーカイブテンプレートを3つ作ります。
      例えば、カテゴリ1(cat1)カテゴリ2(cat2)カテゴリ3(cat3)とカテゴリが3つあった場合、
      具体的に
      どう、書けば宜しいでしょうか?


      from(ボケ予防でMTやってみるぞ)

      • >taiyo-himawariさん
        こんにちは。

        記事ごとのページを出力する際に、その記事が属しているカテゴリによって、出力方法を分けたいということでしょうか?

        • カテゴリ毎の記事で変化を付けることではなくて、
          作成したいことは、
          “カテゴリ別記事リスト”というアーカイブテンプレートが出力される場合、
          その一覧となる“カテゴリ別記事リスト”に それぞれ別な説明文やレイアウトを変えるということを
          したいのです。(日本語下手ですいません。)

        • >taiyo-himawariさん
          こんにちは。

          カテゴリごとにカテゴリアーカイブページの出力を変えたいということでしょうか。
          そうであれば、カテゴリアーカイブテンプレートの中で、カテゴリごと出力を変えたい部分を以下のように組みます。
          「カテゴリA」などの部分は、実際のカテゴリ名に置き換えます。


          カテゴリAの場合の出力

          カテゴリBの場合の出力

          カテゴリCの場合の出力
          ・・・

        • タグのエンコードを忘れていました。
          以下の通りです。

          <mt:If tag="CategoryLabel" eq="カテゴリA">
            カテゴリAの場合の出力
          <mt:ElseIf tag="CategoryLabel" eq="カテゴリB">
            カテゴリBの場合の出力
          <mt:ElseIf tag="CategoryLabel" eq="カテゴリC">
            カテゴリCの場合の出力
          ・・・
          </mt:If>
          
  • 壱様

    ご回答ありがとうございます。
    機能はないんですね。

    どうしてもテンプレートの数が増えてしまいがちなので、どうにかならないものかと思って、ご質問してみました。

    丁寧なご回答誠にありがとうございました。

  • t-yama さん

    こんにちは。
    若干手間ですが、こんな方法もあります。

    これで現在のアーカイブのURLが取得できます。
    http://www.movabletype.jp/documentation/appendices/tags/canonicalurl.html

    replaceモディファイアか、regex_replaceモディファイアで
    ドメイン部分を取り除いてから、MTIfのlikeで前方一致させます。

  • riatw様

    ご回答ありがとうございます。
    そんなタグがあったんですね!

    一度チャレンジしてみます^^
    ありがとうございます!

返信する


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