Home > Movable Type > RightFieldsのフィールドの値によって処理を振り分ける

RightFieldsのフィールドの値によって処理を振り分ける

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から仕様が変わってこんな面倒なことをしなくてもいいらしい

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://blog.flair4.jp/mt/mt-tb.cgi/3
Listed below are links to weblogs that reference
RightFieldsのフィールドの値によって処理を振り分ける from flair4 blog

Home > Movable Type > RightFieldsのフィールドの値によって処理を振り分ける

Search
Feeds

Return to page top