≪HOME(21世紀のアフィリエイト通販生活)
MovableTypeの検索って記事が増えてくると時間が掛かります。
さらに最大の欠点は複数のブログをMovableTypeで構築している時の挙動にあります。
この場合、一回目の検索では問題ありませんが、検索結果画面から2回目の検索を行おうとすると、全ブログが検索対象になってしまいます。
これはかなりマズい仕様です。
代わりにGoogleの検索窓を設置するなんて方法もありますが、Googleのインデックスに加わってない投稿間もないページは検索対象になりません。
新しい記事が検索対象にならないんじゃ話にならんよ。
この問題を劇的にしかも実に簡単な方法で改善できます。確認したい方は右上の検索窓から試してみて下さい。
参考にしたのはこちらです。感謝、感謝、感謝
└ ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript
新規インデックス・テンプレート作成で、ファイル名をsearch_data.txt として、index.htmlと同じ場所に出力します。
<?xml version="1.0" encoding="utf8"?>
{data: [
<MTEntries all="1">
{title:"<$MTEntryTitle remove_html="1" encode_js="1"$>",link:"<$MTEntryLink$>",body:"
<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$>"},
</MTEntries>
{"title": "", "link": "", "body": ""}
]
}
各テンプレートの検索窓には以下を設置。テンプレート名&出力パスを変更した場合は、それに合わせて所定箇所を変更します。
<script type="text/javascript" src="http://java.cocolog-nifty.com/blog/files/javascript/prototype.js"></script>
<script type="text/javascript" src="http://java.cocolog-nifty.com/blog/files/javascript/blog_ajax_json_search.js">
</script>
<form action="javascript:blogAjaxJsonSearch( '/search_data.txt', document.getElementById('search_box').value );"><input type="search" id="search_box" value="" size="30"><input type="button" id="search_button" onclick="javascript:blogAjaxJsonSearch( '/search_data.txt', document.getElementById('search_box').value );" value="サイト内検索"></form>
検索結果は今までのように検索用テンプレート search_templates/default.tmpl を使いません!
各アーカイブの<div class="content">~</div>で囲んだ部分に表示されます。
なので、もしない場合は新たにコンテンツ部分の内側などに追加すればOKです。
たったこれだけで完了
一番最初の検索だけ過去記事をロードしている為、ちょろっと時間が掛かりますが、同画面からの以降の検索は最速!爆速!驚速!音速の貴公子セナ!
最初のロード時間にしても私の環境だと1~2秒なので、今までより圧倒的に鬼速!
ヒットした語句がハイライト表示されるのも良さげです。
なにより検索結果がブログ内のメインコンテンツ部分に表示されるので、なんだかとってもスマートでクールな気分
人は便利さを手にした瞬間から、もう元には戻れないという。
- - - - - - - - - - - - - - - - - - - - - - - - - -
追記:
追加したテンプレートを見ると判りますが、コメントが検索対象になっていません。
コメントを検索対象に含めたい場合は以下のように変更します。
<?xml version="1.0" encoding="utf8"?>
{
data:[
<MTEntries all="1">{
title:"<$MTEntryTitle remove_html="1" encode_js="1"$>"
,link:"<$MTEntryLink$>"
,body:"<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$><MTComments>【<$MTCommentAuthor remove_html="1" encode_js="1"$>】<$MTCommentBody remove_html="1" encode_js="1"$></MTComments>"
},</MTEntries>
{title:"",link:"",body:""}
]
}
参考にさせてもらったのはこちらです。
└ blog_ajax_json_search.jsにパッチ:コメントも含めて検索
検索ヒットしたコメントに対してもハイライトを効かせたい場合は、上記のサイトを参考にjavascript の呼び出し先を変更して下さい。
私の場合、何故かハイライト部分だけフォントサイズが小さくなっていたので、ローカルに落とさせて貰ってフォントサイズだけ変更しました。
今回も感謝、感謝、感謝です。
≪ 続きを隠す
投稿者 Locutus : 2006年05月13日 22:13
| コメント (0)
| トラックバック (4)
使うプラグインはeval-templateプラグインです。
これは今まで入れたプラグインの中で一番ド肝を抜かれたプラグインです。
エントリー投稿欄でMovableTypeのテンプレートタグが使えてしまえるんですから。
使い方は簡単。
プラグインの名前をeval-template.pl とし、pluginsフォルダにアップロード!
各アーカイブの所定箇所を以下のように変更します。
<$MTEntryBody$> ⇒ <$MTEntryBody eval="1"$>
<$MTEntryMore$> ⇒ <$MTEntryMore eval="1"$>
<$MTBlogURL$>などをエントリー投稿してみて、無事ブログのURLが表示されていれば完了です。
しかしこれを実際使うとなると頭の柔らかさが必要になります。どんな使い方があるんだろ~
≪ 続きを隠す
投稿者 Locutus : 2006年05月11日 02:27
| コメント (0)
| トラックバック (0)
ModTextFilterを使ってみました。
このプラグインをインストールすると改行設定が新たに追加されます。
効果はMovableType特有の改行設定の不具合を解消する役割があります。
とは言え、それがなんなのかよく判っていません。
では何故入れたかと言うと、HTMLエンコードタグが追加されるからです。
このプラグインをインストールすると、<enchtml>タグがエントリー投稿時に使えるようになります。
<enchtml> " & < > </enchtml>
<enchtml>タグを使うと、上記のような特殊キャラクタを文字参照に変換してくれます。要するに特殊キャラクタをウェブ上で表示できるようになる訳です。
※<enchtml>タグ自体は出力表示されません!
よくあるデコードボタンを付ければ問題ない話ですが、BigPAPIとの相性が悪いので使えません。
しかしこの方法なら問題無し!
デコードボタンが無くてもペースターのタグ入力支援機能と併用すれば便利に利用できそうです。
プラグインを入れてどんどん便利になっていくMovableTypeは頼もしい
≪ 続きを隠す
投稿者 Locutus : 2006年05月10日 21:26
| コメント (0)
| トラックバック (0)
BlogCopyright Plugin for MT
このプラグインを追加すると、<$MTBlogCopyright$>というテンプレート・タグが新たに利用可能となります。
何が起こるかというと以下のようになります。
Copyright ©2004-2006
たったこれだけです。
何をしているかというと、
最も昔のエントリーの日付と、最も最近のエントリーの日付を調べて、年の部分だけ抽出表示してくれます。
効果はこれだけです。よくこんなプラグイン作るな~しかし、と言いながらも利用してます。便利です
≪ 続きを隠す
投稿者 Locutus : 2006年05月10日 20:03
| コメント (0)
| トラックバック (0)
BetterFileUploaderをダウンロードします。
BetterFileUploaderフォルダをそのままpluginsフォルダにアップロード!
設定はすべて英語ですが、たいして難しい単語もないので、それについは割愛します。見れば判るでしょ。
以前使っていたChangeUploadPathプラグインでも同じ効果がありましたが、今回のはもっと優れもの。
任意のアップロードフォルダを指定し、入力済みに出来るのはもちろん、加えて以下のような効果があります。
何故かMovableType標準では「エントリーを投稿」にチェックが入ってるのを、「HTMLを表示」に変更可能です。
またサムネイルのデフォルト値を任意の値に変更可能です。サムネイル値って同じサイトの場合、固定される場合が多いのでこれは大助かり。
ダイアログ開いた段階では元の画像サイズが表示されていますが、チェックボックスをチェックした瞬間に、プラグイン設定で指定したサムネイルサイズに変更されます。
さらにこのプラグインの良いところは、上記の設定が全ブログまたはブログ毎、どちらでも設定可能な点です。
これでブログ数を追加しても、各ブログで画像アップロードの煩わしさを軽減できます。これ以上のものは要らないでしょ。
ちなみに当プラグインはBigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月07日 02:53
| コメント (0)
| トラックバック (0)
MainMenuRecentプラグインを入れてみました。
pluginフォルダに入れるだけでOKです。
効果は以下のとおり。
最近のエントリーがメインメニューから選択可能になります。たったそれだけです。
BigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月06日 21:10
| コメント (0)
| トラックバック (0)
WeblogActionMenuプラグインを入れてみました。
Pluginフォルダに突っ込めばOKです。
効果はたったこれだけ。
ログイン直後に新規エントリーページに直行したい道楽ものには最適。
BigPAPIと一緒に動くのでお忘れ無く!
≪ 続きを隠す
投稿者 Locutus : 2006年05月06日 20:58
| コメント (0)
| トラックバック (0)
TinyMCE for MovableType 日本語版 1.00をインストールしました。
MovableTypeのエントリー投稿画面をWYSIWYG(ウィジウィグ)エディターに変えるプラグインです。
使い方はこちらが参考になります。
└TinyMCE Plugin for Movable Type Ver1.00 Ja 正規版リリース
(注)最初に断っておくとFirefox1.5以外のブラウザではWYSIWYG機能に制限が出ます。
ちなみにWYSIWYGとはWhat You See Is What You Getの略。直訳すると、
「見た物が手に入る!」
要するにユーザーインターフェースが進化し、使い勝手が良くなる!って意味です。 HTMLエディタの世界では編集画面がウェブページを見ているような画面になる事を指します。
ダウンロードファイルを解凍し、mt-static、php、pluginsの各ディレクトリをmt.cgi があるディレクトリへアップロードします。
同名のフォルダが既にありますが、委細構わずアップロード! FTPソフトがアホじゃなければ10分程でインストール完了します。
出来上がりはこんな感じ。
エントリ投稿画面の段階で、ブラウザで出力ページを見た時と同じような見栄えになります。WYSIWYGモードと通常モードの切り替えは右端の"WYSIWYG"ボタンで行います。
※段落<P>を入れたい時はEnter、改行<BR>ならShift+Eneter。またWYSIWYG化した事により、<> & " などの特殊キャラクタもそのまま入力可能です。
さらに、/mt-static/TinyMCEforMT/mycontent.css を編集すればWYSIWYG画面の見栄えを変更できます。文字サイズやリンク色、テーブル設定などを実際のエントリーに則して設定しておけば、より見た目がすっきりし編集作業も楽になります。
またエントリで使用するクラス名なども追加しておけば、エントリ投稿時に簡単に挿入可能となります。
便利な機能としては、HTMLソース編集、投稿前のプレビュー、編集対象のタグ表示の3点。
中でもHTMLソース編集機能は、HTMLソースを直接入力・編集したい時には便利です。HTMLボタンを押すとソース編集画面が別窓で開きます。
ひたすらタグを打ち込むだけの硬派な画面ですが、ペースターのタグ入力支援機能と併用すればそれなりに使えそうです。
もっとも、WYSIWYGボタンを押して通常モードに戻せば、タグが全部表示された状態になるので同じ事なんですが。
※ちなみ、WYSIWYGエディタを使う場合は、設定で改行設定をなしにしておきます。この設定を行わないと、「WYSIWYG」編集モードから通常モードに戻したときにHTMLコードの改行が有効になりません。
注意したいのはこの逆の行為、つまり通常モードからWYSIWYGモードへの移行時です。この場合、改行設定に係わらず通常モードでの改行や段落などは無視され、コンテンツが全部詰まった状態になります。この状態で保存してしまうと、通常モードに戻しても同じく改行・段落のない状態のままになってしまいます。
ただ保存さえしなければ、通常モードに戻しても改行・段落は生きています。ブラウザを使って更新するCMSなら常識でしょうが、過去記事をWYSIWYG画面で直す時は注意しておきましょう。
WYSIWYGモードはブラウザ依存する事もあり、便利さは人によりけりでしょうが、それよりもこのプラグインの一番のメリットは投稿画面の上下幅を変えられる点です。
この機能はブラウザがIE系でも問題ありません!
当プラグインを追加すると、上のようなボタンが追加されるので、エントリー投稿画面の上下幅を調節できるようになります。(WYSIWYGモードでは画面右下をつまむ事で変更できます。)
一度設定すると他のエントリーに移っても上下幅は記憶されます。
便利すぎ
但し、Windows + IE6ではボタンを押す度に画面がスクロールし、投稿画面先頭に戻ってしまいます。これはTinyMCE for MovableTypeに限った話ではなく、デフォルトボタンでも起こるMovableType3,2の不具合です。
最後の仕上げに以下を参考にこの不具合を直します。TinyMCE Plugin for Movable Type Ja でエントリーを編集するplugins/TinyMCEforMT/TinyMCEforMT.pl を開き、赤文字部分を追加します。
HTML
chop ($old); $old = quotemeta ($old);
chop ($add1);
chop ($add2);
$$template =~ s/($old)/$add1$1$add2/;
$$template =~ s/href="#" mce_href="#"/href="javascript:void(0);" mce_href="javascript:void(0);"/g;
}
1;
__END__
TinyMCE for MovableTypeを使ってない場合の不具合対処法は以下を参考にどうぞ。
└エントリー編集画面のHTMLタグ挿入ボタンの不具合を解消するプラグイン
注意したいのはこれらの対処法を行った場合、他のBigPAPI対応プラグインに影響が出る場合がある事です。
私の場合影響が出たので元に戻しました。
追記:1
標準で入ってるスマイル画像の種類を入れ替える場合は以下にアイコン画像を追加!
mt-static\plugins\Ajaxify\tinymce\jscripts\
tiny_mce\plugins\emotions\images
ひとつ上のフォルダにあるemotions.htm に追加画像用の設定を追加!
同フォルダ、editor_plugin_src.js でポップアップ窓用の縦横を適当に変更!
⇒ template['width'] と ['height']
追記:2
WYSIWYGモードから通常モードに戻したときに、キーボード操作が不能になる現象があります。これを回避するには単純にデフォルトで付いてる装飾ボタン(BやIなど)を押せば元に戻ります。
≪ 続きを隠す
投稿者 Locutus : 2006年05月04日 17:59
| コメント (2)
| トラックバック (2)
アドビ システムズがMovableType 3.2のタグ入力補完やリファレンス機能などを実現する“Dreamweaver 8.0.1 機能拡張 for Movable Type 3.2”の無償提供を開始しました。
コードヒントなど基本的な機能は2004当時と同じです。
└DreamweaverでMovableTypeのテンプレートファイルを編集!(2)
意外と便利なのがタグリファレンス機能。
ご存じのとおりMovableTypeには専用タグが鬼のようにあります。これらタグの意味がすぐにチェックできるのは非常に便利!分厚いリファレンス本など必要ありません。(属性値にも対応!)
それと、DREAMWEAVER 8を使い始めてビビったのが、デザインビューでスタイル設定が忠実に反映される所。ボタン一発でCSSレンタリングが強化されます!
MovableTypeのテンプレートを編集する時に、スタイルシートのパスにMT特有の変数タグを使ってると、ローカル環境では当然効きません。そんな時はCSSパネルからデザインタイム・スタイルシートでCSSファイルを指定します。
2004まではこの機能ほとんど役にたちませんでしたが、8では改善されてます。
Dreamweaver2004まではMovableTypeテンプレートをデザインビューで見ると、何じゃコリャ だった為に、コード画面オンリーで使ってましたが、これからはコード画面とデザインビュー半々にして使わせて頂きます。
※テンプレート編集時に文字化けが出るようなら文字コード指定で<$MTPublishCharset$>を使わずに、直接使用コード(charset=utf-8等)を指定しましょう。
関連記事
└DreamweaverでMovableTypeのテンプレートを編集!
└DreamweaverでMovableTypeのテンプレートファイルを編集!(2)└MovableTypeでスタイルシート(CSS)の編集を便利にする
≪ 続きを隠す
投稿者 Locutus : 2006年03月01日 19:24
| コメント (2)
| トラックバック (0)
エントリー投稿画面とコメント欄に絵文字を表示させる第2弾です。
↓出来上がりはこんな感じです。
コメント欄の方はページの下の方で確認できます。
以前に紹介した方法ではエントリー投稿画面を表示させるtmpl/cms/edit_entry.tmpl を直接編集する必要があり、MovableTypeのバージョンアップの度に同じ事を繰り返さなくてはならず、およそスマートとは言い難い方法でした。
└ コメントとエントリー投稿で画像(絵文字)を使う
今回の方法はプラグインを使う方法なのでedit_entry.tmpl はノータッチ!さらに画像(絵文字)の追加・削除も簡単です。
edit_entry.tmpl をいじくるのはもはや時代遅れと相成りました。自分で書いといて何ですが、バージョン上がる度にあんな面倒くさい事やってられません!
常人なら頭が変になりますよ。
これからはいつバージョンアップがあっても無問題!どんどんバージョン上げちゃって下さい。
参考にしたのは藤本壱さんが上梓された、
ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックのP109~P122迄です。
プラグインのダウンロード先は、著者が一般に公開されてないみたいなので秘匿しておきます。
知りたい方は藤本壱さんの同書で確認してくださいm(_"_)m
以下は自分の備忘録&メンテ代わりに記しておきます。
まず使用する画像を適当な場所にアップロードしておきます。
今回のプラグインはBigPAPIの導入が前提となります。なのでまずBigPAPIをpluginsフォルダにアップします。BigPAPIとは何か?と言うと、管理画面表示テンプレートを動的に置換してくれるプラグインです。
次に入手した各ファイルを適宜修正後、指定箇所にアップします。
文字コードをMovableType側と同じにするのを忘れずに!
次にコメント欄に絵文字を表示させる為に各テンプレートを編集します。
individual_entry_archive.html
comments_preview.html
comments_error.html
の三つです。これらの<head>~</head>間に以下を追加。
<script type="text/javascript" src="<MTStaticWebPath>mt_icon.js"></script>
さらに、各テンプレートの
<$MTCommentBody$>、<$MTCommentPreviewBody$>
を以下のように変更します。
<MTConvertIconMacro>
<$MTCommentBody$>
</MTConvertIconMacro>
<MTConvertIconMacro>
<$MTCommentPreviewBody$>
</MTConvertIconMacro>
最後に、各テンプレートの<textarea>~</textarea>の前もしくは後に以下を追加します。
<div class="converticonmacro">
<script type="text/javascript">
<!--
listIcons('document.comments_form.text', 'macro');
-->
</script>
</div>
エントリー、コメント共に各imgタグにはクラス名mt_iconが付加されます。
今回の変更ではコメント欄の方はテンプレートを編集しないといけませんが、普段から編集しまくりなのでどうという事はありません。
それよりエントリー投稿画面の方がプラグインのUPだけで済むのは大助かり。気に入らなければプラグインを外せば元に戻るんですから(便利!)。
BigPAPIを使った投稿画面カスタマイズに拍手を送ります。
≪ 続きを隠す
投稿者 Locutus : 2006年02月19日 21:28
| コメント (0)
| トラックバック (1)
≪HOME(21世紀のアフィリエイト通販生活)