お知らせ

ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック2008年1月11日

拙著新刊の「ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック」が発売されました。
FC2ブログのさまざまなカスタマイズ方法を解説しています。
FC2ブログユーザーの皆様はぜひお買い求めください。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

エントリーのプレビューを行うプラグイン(その2)

| コメント(4) | トラックバック(1)

2005年8月22日 新バージョンを公開しましたので、そちらをお使いください。

昨日のエントリーの続きで、プラグインの導入手順の残りを解説します。

8.プレビュー用テンプレートの指定

Movable Typeの管理画面(mt.cgi)にログインして、「利用可能なプラグインの設定」の部分で「Tags For Preview」を探し、そのリンクをクリックします。

複数のBlogを管理している場合は、Blogを選ぶ画面が表示されます。プレビュー表示できるようにするBlogを選んで、「送信」ボタンをクリックします。

次に、インデックステンプレートの名前が一覧表示されます。プレビュー用のテンプレートを選択して、「保存」ボタンをクリックします。
プレビュー用テンプレートを複数作った場合は、それらすべてを選択してください。Windowsなら、Ctrlキーを押しながらクリックすることで、複数のテンプレートを選択することができます。

9.edit_entry.tmplにJavaScriptを追加する

次に、エントリーの編集画面のテンプレートに、JavaScriptを追加します。
MTのディレクトリ→tmplディレクトリ→cmsディレクトリの中に、「edit_entry.tmpl」というファイルがあります。
その先頭の方に、JavaScriptのタグ(<script type="text/javascript"><!--)がありますので、その直後に以下のスクリプトを追加します。

function doRebuildPreview () {
window.open('mt-rebuild-preview.cgi?__mode=start_rebuild&blog_id=<TMPL_VAR NAME=BLOG_ID>&entry_id=<TMPL_VAR NAME=ID>', 'doRebuildPreview', 'width=400,height=250,resizable=yes,scrollbars=yes');
}

10.edit_entry.tmplにPreviewボタンを追加する

次に、edit_entry.tmplに、「Preview on Blog」のボタンを追加します。

まず、edit_entry.tmplの中で、以下の部分を検索します。

<TMPL_IF NAME=POSITION_BUTTONS_TOP>
<div id="button-bar">
<input type="submit" name="preview_entry" value="<MT_TRANS phrase="Preview">" />

この部分を以下のように書き換えます(赤字が追加する部分)。

<TMPL_IF NAME=POSITION_BUTTONS_TOP>
<div id="button-bar">
<TMPL_UNLESS NAME=NEW_OBJECT>
<input class="button" onClick="doRebuildPreview()" type="button" value="<MT_TRANS phrase="Preview on Blog">">  
</TMPL_UNLESS>
<input type="submit" name="preview_entry" value="<MT_TRANS phrase="Preview">" />

次に、以下の部分を検索します。

<TMPL_IF NAME=POSITION_BUTTONS_BOTTOM>
<div id="button-bar">
<input type="submit" name="preview_entry" value="<MT_TRANS phrase="Preview">" />

この部分を以下のように書き換えます(赤字が追加する部分)。

<TMPL_IF NAME=POSITION_BUTTONS_BOTTOM>
<div id="button-bar">
<TMPL_UNLESS NAME=NEW_OBJECT>
<input class="button" onClick="doRebuildPreview()" type="button" value="<MT_TRANS phrase="Preview on Blog">">  
</TMPL_UNLESS>
<input type="submit" name="preview_entry" value="<MT_TRANS phrase="Preview">" />

書き換えが終わったら、edit_entry.tmplファイルを、MTのディレクトリ→tmplディレクトリ→cmsディレクトリにアップロードします。

11.プレビューを行う

エントリー編集画面で、下書きにしたエントリーを開きます。
すると、「保存」や「確認」などのボタンの左に、「Preview on Blog」のボタンが表示されます。
そのボタンをクリックすると、8.で指定したテンプレートが自動的に再構築されます。
しばらくすると、「プレビューの準備ができました」と表示され、その下にプレビュー用テンプレートの名前が一覧表示されます。
各テンプレートの名前をクリックすると、別ウィンドウが開き、そのテンプレートのプレビューが表示されます。
これ以後は、エントリーを新規作成して下書きで保存し、11.の作業を行えば、エントリーをプレビューすることができます。

なお、プレビューは以下のように表示されます。

ページ
の種類
先頭
メインプレビューするエントリーがメインページの先頭に表示されます。
カテゴリープレビューするエントリーを含むカテゴリーのページが表示されます。
月別プレビューするエントリーを含む月のページが表示されます。
週別プレビューするエントリーを含む週のページが表示されます。
日別プレビューするエントリーを含む日のページが表示されます。
個別プレビューするエントリーの個別アーカイブページが表示されます。

カテゴリーアーカイブと日付アーカイブのページでは、エントリーは通常は日付順で表示されます。
プレビューするエントリーよりも日付の新しいエントリーがある場合は、それも含めて日付順になります。
そのため、プレビューするエントリーがページの先頭に来ない場合もあります。

12.注意事項

このプラグインでは、インデックステンプレートを、各種のアーカイブテンプレートのように動作させるという手法をとっています。
すべてのテンプレートタグで動作を確認したわけではありませんので、中には動作しないタグがあるかも知れません。

なお、Movable Type標準のテンプレートと、小粋空間様のテンプレートでは、当方の環境では動作することを確認しています。

トラックバック(1件)

このブログ記事を参照しているブログ一覧: エントリーのプレビューを行うプラグイン(その2)

このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/205.

» PHPでモジュール化しててもOKの「まんまプレビュー」(やむやむ)からのトラックバック

以前、「エントリの投稿画面に個別アーカイブのまんま状態でプレビューできるボタン装... 続きを読む

コメント(スレッド4件,コメント4件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 yujiro : (無題)

こんにちは。
コメント遅くなってすいません(リニューアルで手一杯でした…)。

テンプレートのご紹介、ありがとうございました。
このカスタマイズは是非チャレンジしてみたいと思います。

No.2 RT : (無題)

こんにちは
「小粋空間」さんのサイトからこちらに訪問させていただきました。

早速「Tags For Preview」を自分のMTにインストールして、メインページのエントリータグを変更して保存することろまでは問題なく行ったんですが、メインページの「Tags For Preview」のリンクをクリックすると以下の様なエラーがでます。

エラーが発生しました:

テンプレート「login.tmpl」の読み込みに失敗しました: HTML::Template->new() : Cannot open included file tmpl/login.tmpl : file not found. at extlib/HTML/Template.pm line 1500
HTML::Template::_init_template('HTML::Template=HASH(0x8718e98)') called at extlib/HTML/Template.pm line 1105
HTML::Template::_init('HTML::Template=HASH(0x8718e98)') called at extlib/HTML/Template.pm line 999
HTML::Template::new('HTML::Template','filename','tmpl/login.tmpl','path','ARRAY(0x871fb24)','die_on_bad_params',0,'global_vars',1,...) called at extlib/HTML/Template.pm line 1049
HTML::Template::new_file('HTML::Template','tmpl/login.tmpl','path','ARRAY(0x871fb24)','die_on_bad_params',0,'global_vars',1) called at lib/MT/App.pm line 411
eval {...} called at lib/MT/App.pm line 410
MT::App::load_tmpl('FJ::RebuildPreview=HASH(0x8065a2c)','login.tmpl') called at lib/MT/App.pm line 464
MT::App::build_page('FJ::RebuildPreview=HASH(0x8065a2c)','login.tmpl','HASH(0x871faac)') called at lib/MT/App.pm line 341
eval {...} called at lib/MT/App.pm line 301
MT::App::run('FJ::RebuildPreview=HASH(0x8065a2c)') called at mt-rebuild-preview.cgi line 24
eval {...} called at mt-rebuild-preview.cgi line 17


なんか「login.tmpl」を探しにいっているようなのですが、私には原因がつかめません。

もしおわかりのようでしたらおしえていただけないでしょうか?

よろしくお願いいたします。

No.3  : (無題)

>RTさん
こんにちは。
エラーの件ですが、原因は不明です。
ちなみに、「login.tmpl」はMovable Typeのログイン画面のテンプレートで、Movable Typeに標準で入っているはずのものです。

No.4 ようどう : (無題)

こんにちは。

私もRTさんと同じ現象が起きました。
でもMovableType3.2にグレードアップしたら、このエラーは発生しなくなりましたよ。

ご参考までに。

コメントする

管理者のみにコメントを送信したい場合は、「コメントを秘密にする」のチェックをオンにしてコメントを送信するか、メールフォームからメールをお送りください。

ブログ全体の感想など、この記事に直接に関係しないコメントは、ゲストブックにお気軽に投稿してください。


アーカイブ

ブログパーツ

ステータス