- ベストアンサー
MT4のテンプレートにおける本文空チェックの方法
- MT4のテンプレートにおいて、本文が空の場合にのみ特定のテキストを表示させる方法について質問です。
- 現在はMTIfNonEmptyタグを使用して本文の空チェックを行っていますが、うまく機能していません。
- 本文が空の場合にのみテキストを表示する方法についてご存知の方がいらっしゃいましたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
関係なかったらすみませんが、「設定」-「ブログ記事」で「テキストフォーマット」のデフォルトを「リッチテキストエディタ」以外(「改行を変換」とか)にして、新規記事を投稿してみたらどうでしょう? MTIfNonEmptyが効きませんか? (リッチテキストエディタで余計なものが入るんじゃないかと思ったのですが) >一体未入力のときは何が入っているとみなされているのでしょう ブラウザでブログを開いて、ソースを表示してみて下さい。<$MTEntryBody$>の部分に実際何が出力されているかが鍵です。
その他の回答 (1)
- Muller3
- ベストアンサー率81% (800/979)
<div class="asset-body"> </div> まで出力されるところを見ると、どうやらentrybodyに値が入っているとみなされるようです。 データベースの中を見てみたのですが、半角スペースが入っているようでした。 デフォルトでは平気で使われているので、もしかしたら特定の環境下で起こるのかもしれないんですが… 何か変なやり方になってしまいますが、 <MTSetvarBlock name="hoge"><$MTEntryBody$></MTSetvarBlock> <MTIf name="hoge" ne=" "> <div class="asset-body"> AAA <$MTEntryBody$> </div> </MTIf> とか… とにかく、MTEntryBodyに半角スペースのみが入っている前提で、何か方法を考えるということになるのではないかと。
補足
回答ありがとうございます。 <MTIf name="hoge" ne=" "> で試したところ、やはり本文が空なのにAAAが表示されてしまいました。 <MTIf name="hoge" ne=""> でもダメでした。ただし、 <MTIf name="hoge" ne="empty"> とし、本文にemptyとだけ入力した場合は、AAAは表示されませんでした。 一体未入力のときは何が入っているとみなされているのでしょう…。 本文の初期値をemptyとして、表示させたい場合のみ編集するという方法でとりあえず実現できそうですが、 引き続き、『本文未入力の状態』での実現方法を募集したいと思います。 よろしくお願いします。
お礼
回答ありがとうございます。解決しました! おっしゃる通り、「リッチテキスト」には初期値で<br />が入っていました。 「改行を変換」にすることで<br />が見えました。 これを消去して投稿したところ、MTIfNonEmptyが効きました。 >ソースの表示 こんな初歩的な確認も思いつかずお恥ずかしいです…反省しています。 ご親切に回答いただき、本当にありがとうございました。