MT4のテンプレートにおける本文空チェックの方法

このQ&Aのポイント
  • MT4のテンプレートにおいて、本文が空の場合にのみ特定のテキストを表示させる方法について質問です。
  • 現在はMTIfNonEmptyタグを使用して本文の空チェックを行っていますが、うまく機能していません。
  • 本文が空の場合にのみテキストを表示する方法についてご存知の方がいらっしゃいましたら教えてください。
回答を見る
  • ベストアンサー

MT4 <MTIfNonEmpty> 本文が空じゃないときだけ表示したい

こんにちは。MovableType4のテンプレートについて質問させてください。 本文が空じゃない場合にのみ、あるテキストを表示させたいのですが、 『ブログ記事の詳細』テンプレートで、 <MTIfNonEmpty tag="EntryBody"> <div class="asset-body">     AAA <$MTEntryBody$> </div> </MTIfNonEmpty> としても、本文が空なのにAAAが表示されてしまいます。 続きの方で試してみたところ、 <MTIfNonEmpty tag="EntryMore" convert_breaks="0"> <div id="more" class="asset-more">     AAA <$MTEntryMore$> </div> </MTIfNonEmpty> とすれば続きが空の場合はAAAも表示されませんでした。 どうすれば、本文が空の場合にのみテキストを表示することができるのでしょうか? ご存知の方いらっしゃいましたらぜひ教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Muller3
  • ベストアンサー率81% (800/979)
回答No.2

関係なかったらすみませんが、「設定」-「ブログ記事」で「テキストフォーマット」のデフォルトを「リッチテキストエディタ」以外(「改行を変換」とか)にして、新規記事を投稿してみたらどうでしょう? MTIfNonEmptyが効きませんか? (リッチテキストエディタで余計なものが入るんじゃないかと思ったのですが) >一体未入力のときは何が入っているとみなされているのでしょう ブラウザでブログを開いて、ソースを表示してみて下さい。<$MTEntryBody$>の部分に実際何が出力されているかが鍵です。

marronbutton
質問者

お礼

回答ありがとうございます。解決しました! おっしゃる通り、「リッチテキスト」には初期値で<br />が入っていました。 「改行を変換」にすることで<br />が見えました。 これを消去して投稿したところ、MTIfNonEmptyが効きました。 >ソースの表示 こんな初歩的な確認も思いつかずお恥ずかしいです…反省しています。 ご親切に回答いただき、本当にありがとうございました。

その他の回答 (1)

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.1

<div class="asset-body"> </div> まで出力されるところを見ると、どうやらentrybodyに値が入っているとみなされるようです。 データベースの中を見てみたのですが、半角スペースが入っているようでした。 デフォルトでは平気で使われているので、もしかしたら特定の環境下で起こるのかもしれないんですが… 何か変なやり方になってしまいますが、 <MTSetvarBlock name="hoge"><$MTEntryBody$></MTSetvarBlock> <MTIf name="hoge" ne=" "> <div class="asset-body"> AAA <$MTEntryBody$> </div> </MTIf> とか… とにかく、MTEntryBodyに半角スペースのみが入っている前提で、何か方法を考えるということになるのではないかと。

marronbutton
質問者

補足

回答ありがとうございます。 <MTIf name="hoge" ne=" "> で試したところ、やはり本文が空なのにAAAが表示されてしまいました。 <MTIf name="hoge" ne=""> でもダメでした。ただし、 <MTIf name="hoge" ne="empty"> とし、本文にemptyとだけ入力した場合は、AAAは表示されませんでした。 一体未入力のときは何が入っているとみなされているのでしょう…。 本文の初期値をemptyとして、表示させたい場合のみ編集するという方法でとりあえず実現できそうですが、 引き続き、『本文未入力の状態』での実現方法を募集したいと思います。 よろしくお願いします。

関連するQ&A

  • 空要素タグ??

    ブログのSEO対策の為に以下のページに自分のページURLを入れ タグが上手く書けているかをチェックしました ​http://openlab.ring.gr.jp/k16/htmllint/htmllinte.html​ すると、その中の回答に 空要素タグ の要素には空白さえも含めることはできません。 という問題点を指摘されました これの意味は XMLの Content of Elements(J)では、空要素タグは、<tag></tag> のように開始タグと終了タグをくっつけて書かなければならないとされてます。つまり、空白も含めることはできません。 という事です そして対象となる部分は以下のタグのどこかにあるようなのですが まったく検討がつきません どこがエラーの対象なのでしょうか? ちなみにブログはMTですのでカスタマイズは問題ありません よろしくお願いします <h2 class="archive-header"><$MTBlogName encode_html="1"$>項目一覧</h2> <div class="entry" id="entry-999"> <MTCategories> <h3 class="entry-header"><a href="<$MTCategoryArchiveLink$>"> <$MTCategoryLabel cutfirstchar="4"$></a></h3> <$MTCategoryDescription$> <div class="entry-content"> <div class="entry-body"> <MTEntries lastn="999"> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>&nbsp;|&nbsp; </MTEntries> </div> <p class="entry-footer"></p> </div> </MTCategories> </div> <p><br /></p> <div class="gotop"><a href="#TOP">このページのトップへ&uarr;</a></div> </div> </div>

  • Movable Typeの個別エントリーアーカイブ・テンプレートの作成について

    大変、恐縮ですが・・・現在、Movable Typeをダウンロードしてブログをカスタマイズして作成しているのですが、 個別エントリーアーカイブ・テンプレートのテンプレート内にて 個別の記事を表示させたいのですが、タグを打ち込んで再構築してみると、個別エントリーページなので、トップページの様に、今まで投稿した全ての記事がアップされてしまっています。 私が打ち込んだ個別ページのテンプレート内の個別記事を表示させる為のコードは <MTEntries> <div class="entry" id="<$MTEntryID$>"> <h2><$MTEntryTitle$><br /> <span class="subtitle"> <$MTEntryDate$> </span></h2> <$MTEntryBody$> </div><!-- /entry --> ・投稿者の設定(コードは省略) ・コメントの設定(コードは省略) ・トラックバックの設定(コードは省略) </MTEntries> (内容は、タイトルがあり、その下に投稿日付が表示され、個別の本文がひとつ表示される、という形です。) と記入していますが、これだとトップページの様に全ての投稿が表示されてしまいます。 個別記事だけを表示させるには、違うムーバブルタイプのタグがあるのでしょうか? 初歩的な質問で大変申し訳ございませんが、どなた様か宜しくお願い致します。

  • 本文を記載する場合はpタグを使ったほうが良い?

    <div>本文</div> とするのと <div><p>本文</p></div> とするのではどちらがいいのでしょうか? 本文を記載する場合はpタグを使ったほうが良いですか? divタグで本文を表示する位置をmarginなどで設定しています。

    • ベストアンサー
    • HTML
  • FC2ブログの本文が表示されない。

    FC2ブログの初心者です。記事を投稿してみたところ、表示が次のようになりました。 ・記事のタイトルは表示されます。(仮に、タイトルを "なんでや?" とします) ・本文が全く表示されません。  [なんでや?]の続きを読む  と表示されるだけです。 ・[なんでや?]の続きを読む から本文へリンクが張られています。 これを、最初から本文が全部表示されるようにするにはどうしたらいいでしょうか。 HTMLで関係ありそうな箇所は以下のようになっています。 <div class="body"> <%topentry_body> <!--more_link--> <a href="<%topentry_link>#more">[<%topentry_title>]の続きを読む</a><!--/more_link--> <!--more--><hr size="1"><a name="more" id="more"></a><%topentry_more><!--/more--> <!--community--><p>テーマ:<a href="<%topentry_thread_link>" title="<%topentry_thread_title>へのリンク"><%topentry_thread_title></a> - ジャンル:<a href="<%topentry_community_janrelink>" title="<%topentry_community_janrename>へのリンク"><%topentry_community_janrename></a></p><!--/community--> <ol class="sub"> <li><a href="<%topentry_link>"><%topentry_year>/<%topentry_month>/<%topentry_day>(<%topentry_wayoubi>) <%topentry_hour>:<%topentry_minute>:<%topentry_second></a>|</li> <li><a href="<%topentry_category_link>"><%topentry_category></a></li> <li> <!--allow_tb--> | <a href="<%topentry_link>#trackback">トラックバック:<%topentry_tb_num></a><!--/allow_tb--> <!--deny_tb--><!--/deny_tb--> </li> <li> <!--allow_comment--> | <a href="<%topentry_link>#comment">コメント:<%topentry_comment_num></a><!--/allow_comment--> <!--deny_comment--><!--/deny_comment--> </li> </ol> </div>   

  • MovableTypeのタグを横並びで表示したいのですが・・・

    こんにちは。 MovableTypeのタグについて質問があります。 タグといっても共通の言葉をまとめておくほうのタグですが、これを設定すると、各エントリーの一番下に、タグ: と表示され、その下に縦方向のリスト表示されます。 もちろん表示する場所は自分でテンプレートを書き換えればいいわけですが、この縦書きをなんとか横書きにしたいと思っています。 というのもタグをたくさん指定すると、縦に長くなってしまい、見栄えがあまりよくないからです。 どなたか、タグを横書きする方法を教えていただけないでしょうか? ちなみに今のところテンプレートは <MTEntryIfTagged> <div class="entry-tags"> <h4 class="entry-tags-header">タグ:</h4> <ul class="entry-tags-list"> <MTEntryTags> <li class="entry-tag"><a href="<$MTTagSearchLink$>" rel="tag"><$MTTagName$></a></li> </MTEntryTags> </ul> </div> </MTEntryIfTagged> となっています。 ul、liを消してみたりしたのですが、どうもうまくいかなかくて・・・ よろしくおねがいします。

  • カテゴリー別のエントリー表示方法

    MovableType3.2にて、 テンプレートのインデックスページに、あるカテゴリーのみを表示する為の専用ページを作成しました。 しかし、どのようなタグを使用すればいいのか分からないので教えてください。 -------------------------------- <MTCategory name="カテゴリー名"> <MTEntries> <$MTEntryTrackbackData$> <MTDateHeader> <h2 class="date-header"><$MTEntryDate format="%x"$></h2> </MTDateHeader> <MTDateHeader> <div class="date_title"><$MTEntryDate format="%x"$></div> </MTDateHeader> <a id="a<$MTEntryID pad="1"$>"></a> <div class="entry" id="entry-<$MTEntryID$>"> ・ ・ </MTEntries> </MTCategory> ------------------------------- 上記のようなタグを入力したのですが、うまくいきませんでした。 お願いします。

  • MT4.0でページ分割をすると一番古い記事が表示されません。

    Movable Type4.0を使ってブログを作っています。 ページ分割をするため、プラグインのPagebuteを組み込み、 下記の記述通りに5件ずつページ分割はできるようになったのですが、 なぜか一番古い記事だけが表示されなくなってしまいました。 ソースは以下の通りです。 <MTPageContents count="5"> <MTEntries> <div class="text"> <h2><$MTEntryTitle$></h2> <$MTEntryBody$><p><$MTEntryDate format="%Y.%m.%d"$> | <a href="<$MTEntryPermalink$>#comments">コメント(<$MTEntryCommentCount$>)</a> | <a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></p></div><hr /> <$MTPageSeparator$> </MTEntries></MTPageContents> <p class="center"> <MTIfPageBefore><$MTPageBefore delim="&lt;&lt前のページへ"$></MTIfPageBefore> <$MTPageLists delim="|"$><MTIfPageNext><$MTPageNext delim="次のページへ&gt;&gt;"$></MTIfPageNext></p> 同じような現象が起こった方がいらっしゃいましたら 対処法を教えていただきたいです。 何卒よろしくお願いいたします。

  • ブログのFC2拍手の位置について

    FC2でブログをしています。 お礼ページをつけたいので、ブログ自体の拍手は無効化してFC2を貼り付けようとしましたが、 拍手の位置がうまくいきません。 ブログ自体の拍手の時は ――――――――――― 【続きを読む】 ココに拍手ボタン ――――――――――― と表示され、 そして「続きを読む」をクリックすると、記事の一番下にきていました。 しかし、FC2拍手を使うようになってから ――――――――――――― 本文 ココに拍手ボタン 追記内容 ――――――――――――― のようになってしまい、本文と追記の間に拍手が来てしまい、不恰好ですし、読み終わったあとに拍手が押しにくくなってしまいました。 ソースは以下のようになっています。 <div id="header"> <h1><a href="<%url>" accesskey="0" title="<%blog_name>"><%blog_name></a></h1><p><%introduction></p> </div><!-- /header --> <div id="container"> <div id="main"> <!--not_titlelist_area--><!--not_search_area--><!--topentry--> <div class="content" id="e<%topentry_no>"> <h2 class="entry_header"><!--not_permanent_area--><a href="<%topentry_link>" title="<%template_abs_link>"><!--/not_permanent_area--><%topentry_title><!--not_permanent_area--></a><!--/not_permanent_area--></h2> <div class="entry_body"> <%topentry_body> <!--more_link--> <p class="entry_more"><a href="<%topentry_link>#more" title="<%template_extend>"><%template_extend></a></p> <!--/more_link--> 【ここに現在拍手のタグを入れています】 <!--more--><div id="more"><%topentry_more></div><!--/more--> <!--community--><p class="theme"><%template_theme> : <a href="<%topentry_thread_link>" title="<%topentry_thread_title>"><%topentry_thread_title></a><br /> <%template_genre> : <a href="<%topentry_community_janrelink>" title="<%topentry_community_janrename>"><%topentry_community_janrename></a> </p> <!--/community--></div> <!--/entry_body--> 見やすいブログを作りたいので、解決策がわかる方はアドバイスの方お願いしますm(_ _)m

  • タグの中身を取り出す方法

    HTMLからタグの中身を取り出す方法を探しています。 例えば ======================================= <DIV class=entry id=entry-121> <DIV class=entry-body> <P>まいど</P> </DIV> <A id=more></A> <DIV class=entry-more> <P>もうかりまっか?</P> </DIV> </DIV> ======================================= とあるとき、 <DIV class=entry id=entry-121>  </DIV> の中身を取り出したいと思います。 具体的にやりたいことはBlogから本文だけを抜き出すことなのですが・・・。 良い方法がありましたらご教授下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • MTのテンプレートのカテゴリー設定でエラーが出る。

    皆様よろしくお願い致します。 MT・HTML初心者です。プラグイン「pm_headchanger.pl」を使っています。以下はメインページのテンプレートのソースになります。 <MTSetVar name="main_index" value="1"> <MTSetVarBlock name="page_title"><$MTBlogName encode_html="1"$></MTSetVarBlock> <$MTInclude module="ヘッダー"$> <div id="content"> <!-- info --> <$MTInclude module="インフォメーション"$> <h2>インフォメーション(又はおすすめ)</h2> <!-- 900)オススメのカテゴリーを先に作成して再構築してください。   カテゴリー作成前に再構築を行うとエラーになります。 --> <MTEntries category="900)オススメ"> <h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3> <div class="doc"> <$MTEntryBody$> <MTIfNonEmpty tag="EntryMore"> <div class="next"> <a href="<$MTEntryLink$>">続きを読む</a> </div> <br style="clear:both;line-height:0px;" /> </MTIfNonEmpty> </div> </MTEntries> <!-- 新着記事 900)オススメを除いて表示します。--> <h2>新着記事</h2> <ol> <MTEntries lastn="15" offset="0" category="NOT 900)オススメ"> <li><a href="<$MTEntryLink$>" class="c1"><$MTEntryTitle$></a></li> <br style="clear:both;line-height:0px;" /> </MTEntries> </ol> </div> <$MTInclude module="サイドバー"$> <$MTInclude module="フッター"$> 以上です。コメントに先にカテゴリを作るよう指示があるので、MTのダッシュボード→一覧のカテゴリ→トップレベルカテゴリを作成で、「900)オススメ」を作成しました。そして再構築をすると、以下のエラーが表示されます。 テンプレート「メインページ」の再構築中にエラーが発生しました: &lt;mtEntries&gt;タグでエラーがありました: category属性でエラーがありました: NOT 900)オススメ 以上です。しかしなぜエラーになるのかがわからないのです。解決策をご存知の方がいらっしゃいましたら教えて頂けないでしょうか。 お忙しいとは思いますが、皆様何卒よろしくお願い申し上げます。

専門家に質問してみよう