- ベストアンサー
MovableType4 カスタムフィールドのチェックボックスについて
- MovableType4のカスタムフィールド内で使われるチェックボックスについて詳しく説明します。
- カスタムインデックステンプレートでチェックボックスの表示を制御する方法を解説します。
- チェックボックスがonの時とoffの時に表示する内容を変える方法について説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1の回答でやってみてできなかったということですか? 誤解があるようなのですが、 「空」とは「0」、つまり、「チェックボックスにチェックが入っていない状態」 「空でない」とは「1」、つまり、「チェックボックスにチェックが入っている状態」です。 だから、「テンプレートの例」として出ていたんでしょう。 「名前:<MTIfNonEmpty tag="hoge">あいうえお<MTElse>かきくけこ</MTIfNonEmpty>」 と書いたとき、チェックボックスにチェックが入っていれば「あいうえお」を表示し、そうでないとき(チェックが入っていないとき)は「かきくけこ」を表示します。 そうはいっても、MTIfNonEmptyをどうしても使いたくないなら、 名前:<MTIf tag="hoge">あいうえお<MTElse>かきくけこ</MTIf> どうしてもeqを使いたいなら <mt:setvarblock name="test"><mt:hoge></mt:setvarblock> 名前:<mt:if name="test" eq="1">あいうえお<mt:else>かきくけこ</mt:if> この3パターンは、全て同じ結果になると思います。 ※3パターン目、面倒だったので全て小文字になってますが、この書きかたでも大丈夫です念のため。
その他の回答 (1)
- Muller3
- ベストアンサー率81% (800/979)
名前:<MTIfNonEmpty tag="hoge">○○<MTElse>△△</MTIfNonEmpty> になるかと思うのですが。 MTIfNonEmptyは空かどうかを判定するタグなので、hogeが空でなかったら(チェックが入っていたら)○○を表示、そうでない時(チェックが入ってない時)をMTElseタグを使って△△を表示、としたらいいと思いますが、主旨が違ってたらすみません。 <MThoge>にしてしまうと、チェックボックスは空かそうでないかしかないので、0か1になってしまいます。具体的な文字列をタグ使って返したい場合は、ラジオボタンとかテキストとか、具体的な値を入れられるものの方がいいかと。
補足
そもそも、チェックボックスの値が「空」か「空でない」という値ではなく、 「0」か「1」か、というような値が入ってしまってるようなのです。 そのため、回答いただいたような<MTIfNonEmpty>タグは利用できないのです。 tag="hoge"の値がeq="1"の場合○○、 eq="0"の場合△△という感じで組まなきゃいけないっぽいのですが、 それをどういうように書くのかを教えていただきたいです><
お礼
できました!ありがとうございます!! ただ、ご提案頂いた3パターンは同じ結果にはなりませんでした。 (※何度か試してタグの記述ミスがないか確認しました) ■パターン1(MTIfNonEmptyを使用) チェックなし→あいうえお チェックあり→あいうえお ■パターン2(MTIfを使用) チェックなし→かきくけこ チェックあり→あいうえお ■パターン3(MTIf + eqを使用) チェックなし→かきくけこ チェックあり→あいうえお となり、MTIfを使うことで解決はしたのですが、 やはり「テンプレートの例」ではうまくいきませんでした。Why?? MT4.2にアップグレードしてテストしてみましたが結果は同じでした。 丁寧なご回答、まことにありがとうございました! とても助かりました!