Lightbox2を導入する

| カテゴリ: Tips

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はまだ旧バージョンのままです。


070929_02.jpg【9月29日追記】
哲やんさんからいただいたコメントを参考にMovableType4.01でrel="lightbox"を追加する設定を適用しました。
左はその設定で貼り付けた写真です。

哲やんさんどうもありがとうございました。

【2008年1月28日追記】
MT4.01でrel属性を追加する解説はこちら
MT4.1でrel属性を追加する解説はこちら

 
 

トラックバック(1)

このページにトラックバック&リンク

このエントリに関連する記事をブログに書いた方は、お氣軽にトラックバックしてください。
言及リンクは必須ではありませんが、このページの内容に関係のないトラックバックは削除します。

トラックバックURL:


CAPTCHA スパム防止のため、トラックバックURL末尾の XXXXXX 部分を上記画像の数字に置き換えてからご利用ください。お手数ですがご協力よろしくお願いいたします。

リンク用ソースコード:


このブログ記事を参照しているブログ一覧: Lightbox2を導入する

コメント(8)

  • 1

    (無題) 

    返信

    lightboxについて検索してヒットし、訪問させていただきました。
    lightboxをMT4の記事投稿時、自動的に採用できるようにテンプレートを書き換えたいのですが、ご指南いただけないでしょうか。


  • 2

    (無題) 

    返信

    哲やんさん、こんにちは。

    MT4へのLightbox導入時にrel属性を自動で追加する方法は、まだ把握していません。
    ほとんどまったく別モノのプログラムと言っていいほどなので、どのファイルを変更すればいいのかもわからない段階です。

    もちろん、方法がわかったら新しいエントリでご紹介するつもりです。

    • R34

    •  
    • 2007年9月17日 11:10

  • 3

    (無題) 

    返信

    Lightbox2対応のカスタマイズができました。
    私のスキルではここまでなので、今後この手のプラグインができることを期待して・・・

    mt/lib/MT/Asset/Image.pm 内の229行目あたりを以下のようにして

    #'',
    '',
    #'',

    247行目、257行目あたりを以下のように

    '',

    このくらいしかできませんでしたが何とか稼働しています。

    できましたら加筆、修正をお願いいたします。


  • 4

    (無題) 

    返信

    mt/lib/MT/Asset/Image.pm 内の229行目あたりを以下のようにして



    #'<img src="%s" %s alt="%s" %s />',

    '<a href="http://画像の設置アドレス/%s" rel="lightbox"><img alt="%s" src="http://画像の設置アドレス/"%s"></a>',




    247行目、257行目あたりを以下のように



    '<a href="http://画像の設置アドレス/%s" rel="lightbox"><img src="%s" width="%d" height="%d"></a>',


  • 5

    (無題) 

    返信

    こんにちは。lightboxの設置方法を参考にさせて頂きたいのですが、(赤色が追加箇所、青色が削除箇所)が全て白文字になっていて、良く解りません。恐れ入りますが、教えて頂けないでしょうか。あと、effects.jsは普通に他のjsと一緒にupしちゃって良いのでしょうか?
    初心者ですが、よろしくお願いします。

    • なほ

    •  
    • 2008年2月 9日 13:28

  • 6

    (無題) 

    返信

    コメントありがとうございます

    分かりにくくてすみません。
    追加箇所と削除箇所が分かるよう色分けして表示されるようにしました。

    effect.jsはlightbox.jsと同じ場所で結構です。

    • R34

    •  
    • 2008年2月 9日 17:39

  • 7

    (無題) 

    返信

    R34さん、早々の修正ありがとうございました。
    おかげさまで、無事にLightboxが設置できました。

    また質問なのですが、他のAjax:http://www.phatfusion.net/imagemenu/ と一緒に使う事はできないのでしょうか?1つ1つ設置すれば、それぞれ動くのですが、両方供に設置すると、共倒れになってしまいます。Ajaxの複数設置は不可能ですか?

    もし、ご存知でしたら教えて下さい。よろしくお願いします。

    jsとcssの読み込み順はいろいろ試したのですが・・・

    よろしくお願いします。

    • なほ

    •  
    • 2008年2月 9日 18:29

  • 8

    (無題) 

    返信

    ご指摘の件ですが、私はそのAjaxを使用したことがなくてよく分からないです。
    すみません。

    Lightboxとはまた違った動作が面白いですね。

    Ajaxに関する知識がそれなりにあれば、複数の画像表示系のAjaxを共存させることも可能でしょうが、ただ設置するだけでは競合して動作しなくなることがあるようです。

    私は、プログラムのことがほとんど分からないので、せっかくの質問にお答えできないのが申し訳ないです。
    もし、他サイトの解説を見つけたらご紹介します。

    • R34

    •  
    • 2008年2月10日 00:07

コメントをどうぞ

アイテム


カテゴリ

アーカイブ

   
OpenID対応しています OpenIDについて