使い勝手向上委員会 Movable Type 4 でlightboxを使いたい

| | コメント(0) | トラックバック(0)

以前のバージョン(Movable Tyle 3.*)を使っていたときに、「lightbox」というプラグインを設置していました。

この「lightbox」というプラグインは、サムネイル画像を押したときに、大変オシャレにポップアップ表示されるため、気に入っていたプラグインの1つです。

 

今回、新しいエンジン(Movable Tyle 4.*)でも、是非とも設置したかったので調べてみました。

そうすると、lightbox自体もバージョンアップ(1.*→2.*)しているのですね。

ますます意欲がわいてきます。

 

参考としたサイトは、以下の2つ。

 

設置方法の手順を忘れないよう、以下にまとめておくことにしました。

今回は、私のブログ環境での設置方法ですので環境の違う方は読み替えて下さい。

  • MovableType本体 : public_html/system/
  • lightbox本体 : public_html/system/javascript/lightbox/

 

lightbox JS v2の設定手順

作業概要

  1. Lightboxのダウンロード
  2. lightboxファイル(lightbox.js)の修正
  3. 既存ファイル(Image.pm)の修正
  4. lightboxファイルのアップロード
  5. スタイルシートを読み込む設定
  6. ウィジェットテンプレートの「フォト」の修正
  7. サイトの再構築

 

Lightboxのダウンロード

Lightbox 2
http://www.huddletogether.com/projects/lightbox2/

ダウンロードファイルを解凍すると、[lightbox JS**]の直下に[css][images][js]というフォルダが展開される。

[lightbox]
   ├[css]
   │└lightbox.css
   │
   ├[images]
   │├blank.gif
   │├close.gif
   │├・・・ 
   │
   ├[js]
   │├effects.js
   │├lightbox.js
   │├prototype.js
   │└scriptaculous.js
   └index.html
 

lightboxファイル(lightbox.js)の修正

修正箇所は「loading.gif」の設置場所を指定する設定を行う。

それぞれ異なるディレクトリから動作させるため、トップからのURLで記載すること。

[js]フォルダ内の「lightbox.js」というファイルをエディタで開き、下記のように修正を行う。

修正前(MovableType4だと65行目)
var fileLoadingImage = "images/loading.gif"; var fileBottomNavCloseImage = "images/closelabel.gif"; 

修正後
var fileLoadingImage = "/[MovableType本体] /javascript/lightbox/images/loading.gif"; var fileBottomNavCloseImage = "/blog/images/closelabel.gif";

 

データのアップロード

[MovableType本体]の設置場所に、[javascript]フォルダを作り、その中に、さらに [lightbox]フォルダを作り設置することにした。

<[MovableType本体]>
   └[javascript]
      ├[lightbox]
      │ ├[css]
      │ │└lightbox.css
      │ │
      │ ├[images]
      │ │├blank.gif
      │ │├close.gif
      │ │├・・・ 
      │ │
      │ ├[js]
      │ │├effects.js
      │ │├lightbox.js
      │ │├prototype.js
      │ │└scriptaculous.js
      │ └index.html
 

そのまま、[MovableType本体]に設置してもいいのだが、今後もjavascriptのプラグインを設置するかもしれないので、このように整理してみた。

 

既存ファイル(Image.pm)の修正

ブログ投稿を行う際、自動的にlightboxが適用されるようにするには、「Image.pm」を修正する。

<[MovableType本体]>
   └[lib]
    ├[MT]
    │ ├[Asset]
    │ │ ├image.pm
    │ │ ├・・・
 

このファイルは、ftp等にて修正を行う。

 

修正前(MovableType4だと247行目)
'<a href="%s"><img alt="%s" src="%s" %s %s /></a>', 

修正後
'<a href="%s" rel="lightbox"><img alt="%s" src="%s" %s %s /></a>',

 

修正前
'<img alt="%s" src="%s" %s %s/>',
MT::Util::encode_html( $asset->label ),
MT::Util::encode_html( $asset->url ),

追加修正後(MovableType4だと256~271行目を追加修正)
my $thumb_width = $param->{thumb_width}; my $scale = $asset->image_width / $thumb_width; $dimensions = sprintf( 'width="%s" height="%s"', (( $asset->image_width / $scale, $asset->image_height / $scale )) );
$text = sprintf(
#'<img alt="%s" src="%s" %s %s/>',
# MT::Util::encode_html( $asset->label ),
# MT::Util::encode_html( $asset->url ),
'<a href="%s" rel="lightbox"><img alt="%s" src="%s" %s %s /></a>', MT::Util::encode_html( $asset->url ), MT::Util::encode_html( $asset->label ), MT::Util::encode_html( $asset->url ),
$dimensions, $wrap_style, );

赤部分は削除せずにコメントアウトとし、その前後に追加する。

 

スタイルシートを読み込む設定

スタイルシートを読み込む設定を行うには、テンプレートモジュール「ヘッダ」内に下記を追加する。

修正前
<$MTInclude identifier="styles" trim_to="0"$>
<link rel="stylesheet" href="<$MTLink template="styles"$>" type="text/css" />

修正後
<$MTInclude identifier="styles" trim_to="0"$>
<script type="text/javascript" src="/[MovableType本体]/javascript/lightbox/js/prototype.js"></script>
<script type="text/javascript" src="/[MovableType本体]/javascript/lightbox/js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="/[MovableType本体]/javascript/lightbox/js/lightbox.js"></script>
<link rel="stylesheet" href="/[MovableType本体]/javascript/lightbox/css/lightbox.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<$MTLink template="styles"$>" type="text/css" />

自分の環境に合わせて、ヘッダー内の[/head]より上であればどこでも良いが、順番をかえると読み込まれない場合があるようなので、上記「修正前」のデフォルトの項(黒字)の間に埋め込むことにした。

 

ウィジェットテンプレートの「フォト」の修正

記事内の写真以外に、サイドバー内のサムネイルにも自動的に反映させるため、ウィジェットテンプレートの「フォト」にも修正を加えておく。

修正を行う前に、バックアップを行っておくのだが、通常のバックアップは出来ないため、新規に「フォト」を作成し、既存の「フォト」の名前を変えて選別することにする。

変更を加える箇所は、下記の部分とする。

修正前
<a class="asset-image" href="<$MTAssetURL$>">

修正後
<a class="asset-image" rel="lightbox" href="<$MTAssetURL$>">

トラックバック(0)

このブログ記事を参照しているブログ一覧: 使い勝手向上委員会 Movable Type 4 でlightboxを使いたい

このブログ記事に対するトラックバックURL: http://style.customplan.info/system/mt-tb.cgi/9

コメントする


画像の中に見える文字を入力してください。

ADs by Google

アーカイブ

最近のコメント

最近のトラックバック