検索結果画面の表示文字数を変更する

検索結果画面の表示文字数を変更する

Posted at April 30,2006 1:06 AM
Tag:[Customize, MovableType, SearchResult]

Movable Type で検索結果画面でヒットしたエントリー本文の表示文字数(デフォルト40文字)を変更するカスタマイズです。

変更方法は簡単で、mt-config.cgi の ExcerptWords を有効にします。例えば40文字から20文字に変更する場合は、mt-config.cgi をダウンロードして任意のエディタで開き、

          :
# The number of words in the excerpt displayed when you use the
# <$MTEntryExcerpt$> tag inside of your search results. This setting is
# distinct from the "Number of words in excerpt" setting in your blog
# configuration, because this setting is just used for excerpts in your
# search results. The default is 40 words.
#
# ExcerptWords 100

の赤色部分を、青色のように変更します。

          :
# The number of words in the excerpt displayed when you use the
# <$MTEntryExcerpt$> tag inside of your search results. This setting is
# distinct from the "Number of words in excerpt" setting in your blog
# configuration, because this setting is just used for excerpts in your
# search results. The default is 40 words.
#
ExcerptWords 20

行頭の # と半角空白を削除して、数字を変更してください。数字は文字数を指しています。
変更後、mt-config.cgi を元のディレクトリにアップロードすれば完了です。

なお上記の変更は検索結果画面のみに有効です。管理画面の「設定」→「基本」の中に「概要に入れる文字数」がありますが、こちらとは無関係です。概要はトラックバックやRSSフィード等で使われていますが、これは官吏画面で設定した文字数が有効になります(と上の英文で書かれています)。

また、デフォルトの検索結果画面に挿入されている MTEntryExcerpt を MTEntryBody に変更すれば全文表示も可能です。

関連記事
トラックバックURL


コメント

こんにちは!

ありがとうございます。

さっそく試してみますね。

[1] Posted by MOVEMENT : May 1, 2006 5:51 PM

>MOVEMENTさん
こんばんは。
ご連絡ありがとうございました。
ではでは!

[2] Posted by yujiro : May 2, 2006 2:01 AM


における概要の表示についてなのですが
自分で概要を書いた場合はよいのですが
空だった場合の表示文字数からの自動割当が
HTMLタグの途中で起こってしまう場合があり
その場合、閉じられていないタグが後ろに漏れ出してしまいます

いまはremove_htmlしていますがこれですと
自作で書いた概要内にあるサムネイル画像などが
消えてしまいます
この場合、どのような解法がありますでしょうか?

[3] Posted by hinata : August 14, 2006 5:46 AM

>における概要の表示についてなのですが

失礼しました、タグが消えてしまって意味が不明ですね
<$MTEntryExcerpt$>における?
です

[4] Posted by hinata : August 14, 2006 5:48 AM

>hinataさん
こんばんは。
ご返事遅くなって申し訳ありません。
ご質問の件について、ご要望の動作は、

  • 概要の記述(img タグ)はそのまま表示
  • 概要がない場合、本文を表示(html タグは適正に削除)

という理解でよろしいでしょうか。
MTEntryExcerpt の動作およびコードを確認致しましたところ、概要に記載がない場合の動作は、

  1. HTMLタグの除去
  2. 指定文字数による取得

という順番で処理を行っているので、本文の指定文字数を超えた位置に終了タグが存在する場合、タグが途中で分割されるという事象は発生しませんでした。
もし発生するサンプルがございましたらご提示願えますでしょうか。

また、3.31-ja で確認したところ、remove_html を指定しない設定であれば、ご要望の動作になるようですので、再度ご確認頂ければ幸いです。
それではよろしくお願い致します。

[5] Posted by yujiro : August 18, 2006 12:39 AM

このトピックとは直接関係ない$MTEntryExcerpt$の話題を答えていただきましてありがとうございます

全概要を一覧するページを作った際(>ホームURLに入れました)
途中で切れてしまう理由が分からず
切れる場所を調べていったらタグが混じっていました

<blockquote>>$MTEntryExcerpt$>>/blockquote>

にて概要表示にしてあります
ここにremove_htmlを入れたものを
(URLの部分をarchives.html)
にて使っている際はその現象が起きませんでした

3.3はまだ色々不具合がありそうなので
落ち着くのを待っている状態でしたが
使っているVersionが3.2-ja-2なので
それが原因でしょうか?

[6] Posted by hinata : August 19, 2006 11:05 AM

<blockquote><$MTEntryExcerpt$></blockquote>
の間違いですね… ltgt混じってしまって申し訳ないです

[7] Posted by hinata : August 19, 2006 11:07 AM

>hinataさん
こんばんは。
エントリー・タグ機能を積極的に使わなければアップグレードされても大丈夫と思います。
なお MTEntryExcerpt のソースは 3.2 と 3.3 で差分はありませんでした。
それではよろしくお願い致します。

[8] Posted by yujiro : August 20, 2006 2:05 AM

その後色々調べて分かったのですが
どうやら古いMTで自動生成した概要に
タグの途中などで切れたソースが紛れていて
それが原因で表示がおかしくなるようです

再びその記事を編集にして
概要を空で投稿するとソース途中のタグは
切れないようになって保存されます

古くからずっと移行して使っていると起きるようですね

[9] Posted by hinata : August 21, 2006 5:25 AM

>hinataさん
こんにちは。
情報ありがとうございました。
とりあえず解消されたようでなによりです。
ではでは!

[10] Posted by yujiro : August 21, 2006 3:24 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)