- 2007年11月 8日 12:06
- Movable Type
RightFieldsのフィールドの値によって処理を振り分けたいことが多々あるのだが、
Compareプラグインの振り分け条件で、RightFieldsプラグインのタグを評価するとダメっぽい
これはNG↓
<MTIfExtraField field="status"> <MTIfEqual a="[MTExtraFieldValue field='status']" b="新着">
フィールド「status」が「新着」だったときの処理
</MTIfEqual></MTIfExtraField>
なので、いったんMTTagInvokeプラグインを使って<MTSetVar>に値を入れてやる
<MTIfExtraField field="status"> <MTTagInvoke tag_name="MTSetVar" name="status"> ←「name="status"」の「MTSetVar」へ値を入れる準備
<MTTagInvokeAttribute name="value"><$MTExtraFieldValue field='status' strip_linefeeds='1'></MTTagInvokeAttribute>←「MTTagInvokeAttribute」でvalueを設定。<$MTExtraFieldValue field='status' strip_linefeeds='1'>を代入する。strip_linefeeds='1'は改行を取り除くMTタグ。</MTTagInvoke></MTIfExtraField>
※「MTTagInvokeAttribute 」はプラグインのバージョンによって書き方が違うので要注意。
まとめると↓
<MTIfExtraField field="status"> <MTTagInvoke tag_name="MTSetVar" name="status">
<MTTagInvokeAttribute name="value"><$MTExtraFieldValue field='status' strip_linefeeds='1'></MTTagInvokeAttribute>
</MTTagInvoke> </MTIfExtraField> <MTIfEqual a="[MTGetVar name='status']" b="新着">
<img src="/imgdir/common/ic_new.gif" alt="新着" width="70" height="18" />
</MTIfEqual><!--/end if --> <MTIfEqual a="[MTGetVar name='status']" b="商談中">
<img src="/imgdir/common/ic_syodan.gif" alt="商談中" width="70" height="18" />
</MTIfEqual><!--/end if --> <MTIfEqual a="[MTGetVar name='status']" b="売り切れ">
<img src="/imgdir/common/ic_soldout.gif" alt="売り切れ" width="70" height="18" />
</MTIfEqual><!--/end if -->
これで「MTExtraFieldValue field='status'」の値によって表示する画像を変えられる
追記:MT4から仕様が変わってこんな面倒なことをしなくてもいいらしい
- Newer: ActionScript 3.0 メモ
- Older: FlashDevelop3.0 beta2を日本語化してみる