Lightboxはバージョンが2になって導入方法がかなり変わったので、その導入方法についてメモ。
まずは、スクリプトをダウンロード
Lightbox2(英語サイト)
ここで説明されている通りに設置すれば簡単に使えるようになるのですが、スクリプトをトップディレクトリに置いておかないといけません。
それでもかまわないという場合はこちらのサイトに解りやすい解説(日本語)があります。
マイコミジャーナル:ゼロからはじめるLightbox 2.0 - 簡単にWebで写真アルバム機能を
トップディレクトリにごちゃごちゃとファイルを置きたくない場合、スクリプトの設置場所をコントロールしようと思うとそのままでは動作しません。
まずはファイルのアップロード
後々のメンテナンスや移転等を考慮して、こういった特殊効果はstyleフォルダにできるだけひとまとめにするようにしています。
私の場合はこんな感じのディレクトリ構造にしています。
<$MTBlogURL$>
└[r34style]
└[script]
├[lib]─prototype.js
├[lightbox]┬lightbox.css
│ │ └lightbox.js
│ └[images]┬
│ ├
│ ├
│
└[src]┬scriptaculous.js
├
次に各テンプレートのヘッダ部分の編集。
スタイルシートを読み込む設定を追加。
<link rel="stylesheet" href="<$MTBlogURL$>style/script/lightbox/lightbox.css" type="text/css" media="screen" />
JavaScriptを読み込む設定を追加。順番が前後すると動作しないので注意が必要。
<script type="text/javascript" src="<$MTBlogURL$>style/script/lib/prototype.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>style/script/src/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="<$MTBlogURL$>style/script/lightbox/lightbox.js"></script>
そして、lightbox.jsの内容を変更。
65行目、204行目のloading.gifの設置場所を指定。トップページとアーカイブページなど異なるディレクトリのファイルから動作させるので、念のためhttp://からのURLで表示。
同様に66行目、217行目のcloselabel.gifの設置場所を指定。(赤色が追加箇所)
65行目:var fileLoadingImage = "http://ブログのURL/style/script/lightbox/images/loading.gif";
66行目:var fileBottomNavCloseImage = "http://ブログのURL/style/script/lightbox/images/closelabel.gif";
204行目:<img src="http://ブログのURL/style/script/lightbox/images/loading.gif">
217行目:<img src="http://ブログのURL/style/script/lightbox/images/close.gif">
lightbox.cssの内容も変更します。(赤色が追加箇所、青色が削除箇所)
49行目のblank.gif、54行目のprevlabel.gif、55行目のnextlabel.gifです。
49行目:background: transparent url(http://ブログのURL/style/script/lightbox../images/blank.gif) no-repeat; /*
54行目:#prevLink:hover, #prevLink:visited:hover { background: url(http://ブログのURL/style/script/lightbox../images/prevlabel.gif) left 15% no-repeat; }
55行目:#nextLink:hover, #nextLink:visited:hover { background: url(http://ブログのURL/style/script/lightbox../images/nextlabel.gif) right 15% no-repeat; }
これをFTPで上書アップロードすればOK・・・のはずです。
Lightboxの古いバージョンを使っている場合は、スクリプトを削除する必要があります。
このサイトのLightboxはまだ旧バージョンのままです。
【9月29日追記】
哲やんさんからいただいたコメントを参考にMovableType4.01でrel="lightbox"を追加する設定を適用しました。
左はその設定で貼り付けた写真です。
哲やんさんどうもありがとうございました。
【2008年1月28日追記】
MT4.01でrel属性を追加する解説はこちら
MT4.1でrel属性を追加する解説はこちら
(無題)
返信lightboxについて検索してヒットし、訪問させていただきました。
lightboxをMT4の記事投稿時、自動的に採用できるようにテンプレートを書き換えたいのですが、ご指南いただけないでしょうか。
哲やん
(無題)
返信哲やんさん、こんにちは。
MT4へのLightbox導入時にrel属性を自動で追加する方法は、まだ把握していません。
ほとんどまったく別モノのプログラムと言っていいほどなので、どのファイルを変更すればいいのかもわからない段階です。
もちろん、方法がわかったら新しいエントリでご紹介するつもりです。
R34
(無題)
返信Lightbox2対応のカスタマイズができました。
私のスキルではここまでなので、今後この手のプラグインができることを期待して・・・
mt/lib/MT/Asset/Image.pm 内の229行目あたりを以下のようにして
#'',
'',
#'',
247行目、257行目あたりを以下のように
'',
このくらいしかできませんでしたが何とか稼働しています。
できましたら加筆、修正をお願いいたします。
哲やん
(無題)
返信mt/lib/MT/Asset/Image.pm 内の229行目あたりを以下のようにして
247行目、257行目あたりを以下のように
哲やん
(無題)
返信こんにちは。lightboxの設置方法を参考にさせて頂きたいのですが、(赤色が追加箇所、青色が削除箇所)が全て白文字になっていて、良く解りません。恐れ入りますが、教えて頂けないでしょうか。あと、effects.jsは普通に他のjsと一緒にupしちゃって良いのでしょうか?
初心者ですが、よろしくお願いします。
なほ
(無題)
返信コメントありがとうございます
分かりにくくてすみません。
追加箇所と削除箇所が分かるよう色分けして表示されるようにしました。
effect.jsはlightbox.jsと同じ場所で結構です。
R34
(無題)
返信R34さん、早々の修正ありがとうございました。
おかげさまで、無事にLightboxが設置できました。
また質問なのですが、他のAjax:http://www.phatfusion.net/imagemenu/ と一緒に使う事はできないのでしょうか?1つ1つ設置すれば、それぞれ動くのですが、両方供に設置すると、共倒れになってしまいます。Ajaxの複数設置は不可能ですか?
もし、ご存知でしたら教えて下さい。よろしくお願いします。
jsとcssの読み込み順はいろいろ試したのですが・・・
よろしくお願いします。
なほ
(無題)
返信ご指摘の件ですが、私はそのAjaxを使用したことがなくてよく分からないです。
すみません。
Lightboxとはまた違った動作が面白いですね。
Ajaxに関する知識がそれなりにあれば、複数の画像表示系のAjaxを共存させることも可能でしょうが、ただ設置するだけでは競合して動作しなくなることがあるようです。
私は、プログラムのことがほとんど分からないので、せっかくの質問にお答えできないのが申し訳ないです。
もし、他サイトの解説を見つけたらご紹介します。
R34