ページ数が多いため、テンプレートファイルである程度制御したいと思い
MTSetVarタグを用いて自動的に吐き出せるようにしたいと考えています。
まず
<MTSetVarTemplate name="price">
<$MTEntryBasename$>
</MTSetVarTemplate>
とセットし、
<mt:If name="price" eq="hoge">
12,000円
<mt:ElseIf eq="hogehoge">
12,500円
</mt:If>
として分岐をさせてみましたが
上手く表示されませんでした。
※hogeはウェブページのファイル名
どこが間違っているかを指摘していただければと思います。
よろしくお願いいたします。
http://www.movabletype.jp/documentation/appendices/tags/setvarbl...
MTSetVarTemplate は、その名の通り
「テンプレートの状態」が代入されるため、希望の動作にはなりません。
「price」に「<$MTEntryBasename$>」が代入され、呼び出された先で実行されます。
それじゃ <MTIf name="price" ...> で呼び出した時に実行されるんじゃ
....と思いがちですが、このような場合には実行されません。
<MTSetVarBlock name="price">
<$MTEntryBasename$>
</MTSetVarBlock>
にすると良いかと思いますが、MT のバージョンが 4.1 以降であれば、
グローバルモデファイア setvar を使い、
<MTEntryBasename setvar="name">
だけで「name に MTEntryBasename の値を代入」が可能です。
※ setvar グローバルモデファイアを使った場合、
該当のタグは表示(出力)されないので、
コメントアウトする必要などもありません。
※ おそらく上記で可能だと思いますが、検証を行っていません。
できないようでしたら、修正いたしますのでコメントをお願いします。
やりたい事は、任意のテキストを条件(ファイル名)によってウェブページに表示させたいということで間違いありませんか?
1.ウェブページのアーカイブテンプレートに記述しましたか?
2.条件の「eq="hoge"」の部分ですが、拡張子「.html」は必要ありません。
上記の点が問題なければ表示されるはずです。
こちらはversion 4.25で問題なく動作します。
上記が間違いなく出来ているのでしたら、どのように上手く表示されないのか、問題点を詳しく教えてください。
※コメント欄を開けてくださるとやり取りしやすいです。
※URLはダミーです。
http://www.movabletype.jp/documentation/appendices/tags/setvarte...
http://www.movabletype.jp/documentation/appendices/tags/entrybas...
この方法で試したのですが、どうも上手くいかなかったです。
今回はMTを諦め、WPでもう一度試してみたいと思います。
ありがとうございました。
この方法で試したのですが、どうも上手くいかなかったです。
今回はMTを諦め、WPでもう一度試してみたいと思います。
ありがとうございました。