お知らせ

PHPによるWordPressカスタマイズブック2009年9月8日

PHPによるWordPressカスタマイズブック」が発売されました。
WordPressのテンプレートにPHPのプログラムを書いてカスタマイズする方法や、WordPressのデータベースにPHPでアクセスする方法、またWordPressのプラグインの開発方法など、WordPressをより深く活用したい方に最適な一冊です。

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

FC2ブログでLiteboxを使う

| コメント(17) | トラックバック(2)

ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック拙著「FC2ブログスーパーカスタマイズテクニック」の中で、FC2ブログでLiteboxを使う方法を解説しています。
ただ、書籍が出てからFC2ブログの仕様が変わり、書籍に書いてある手順ではLiteboxを導入することができなくなりました。
そこで、現在の仕様にあわせた導入方法を解説します。

1.Liteboxをダウンロードする

LiteboxはTyler Mulligan氏が作ったJavaScriptで、以下のページで配布されています。

http://www.doknowevil.net/litebox/

このページに接続し、ページを下の方にスクロールしていくと、「Download」の箇所がありますので、リンクをクリックします。
ダウンロードが終わったら、ファイルを解凍しておきます。

2.ファイルのアップロード

litebox-1.0.zipを展開すると、以下のようなフォルダとファイルができます。

├ index.html
├ cssフォルダ
│├ □lightbox.css
│└ ●styles.css
├ imagesフォルダ
│├ ●blank.gif
│├ ●closelabel.gif
│├ image-1.gif
│├ image-2.gif
│├ image-3.gif
│├ ●loading.gif
│├ ●nextlabel.gif
│├ ●prevlabel.gif
│├ thumb-1.gif
│├ thumb-2.gif
│└ thumb-3.gif
└ jsフォルダ
 ├ □litebox-1.0.js
 ├ ★moo.fx.js
 └ ★protype.lite.js

先頭に「●」がついているファイルは、そのままFC2ブログにアップロードします。
ファイルをアップロードし終わると、「ファイルをアップロードしました」と表示され、その後にファイルのアドレスが表示されます。
そのアドレスをコピーして、メモ帳等に貼り付けておきます。

↓ファイルのアドレスの表示
fc2upload.png

先頭に「★」がついている「moo.fx.js」と「prototype.lite.js」は、ご自分のパソコンで、ファイル名をそれぞれ「moofx.js」「prototypelite.js」に変更してから、FC2ブログにアップロードします。
これらのファイルも、アップロードが終わったら、ファイルのアドレスをメモ帳等にコピーしておきます。

先頭に「□」がついている「lightbox.css」と「litebox-1.0.js」は、この後の手順でファイルの内容を書き換えてからアップロードします。

残りのマークがついていないファイルは、このカスタマイズでは使いません。

3.ligttbox.cssファイルの書き換えとアップロード

次に、「ligttbox.css」ファイルをメモ帳等で開いて、内容を書き換えます。

ligttbox.cssの45行目~55行目付近に、以下のリストのような部分があります。

・
・(略)
・
#prevLink, #nextLink{
	width: 49%;
	height: 100%;
	background: transparent url(../images/blank.gif) no-repeat; /* Trick IE into showing hover */
	display: block;
	}
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(../images/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../images/nextlabel.gif) right 15% no-repeat; }
・
・(略)
・

赤字の3箇所を、FC2ブログにアップロードしたファイルのアドレスに合わせて書き換えます。
例えば、これら3つのファイルのアドレスが、それぞれ以下のようになったとします。

  • http://blog-imgs-1.fc2.com/f/o/o/foo/blank.gif
  • http://blog-imgs-1.fc2.com/f/o/o/foo/nextlabel.gif
  • http://blog-imgs-1.fc2.com/f/o/o/foo/prevlabel.gif

この場合、前述の部分を以下のように書き換えます。

・
・(略)
・
#prevLink, #nextLink{
	width: 49%;
	height: 100%;
	background: transparent url(http://blog-imgs-1.fc2.com/f/o/o/foo/blank.gif) no-repeat; /* Trick IE into showing hover */
	display: block;
	}
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(http://blog-imgs-1.fc2.com/f/o/o/foo/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(http://blog-imgs-1.fc2.com/f/o/o/foo/nextlabel.gif) right 15% no-repeat; }
・
・(略)
・

書き換えが終わったら、lightbox.cssファイルをFC2ブログにアップロードします。
また、アップロードが終わったら、ファイルのアドレスをメモ帳等にコピーしておきます。

4.litebox-1.0.jsの書き換えとアップロード

次に、litebox-1.0.jsの中で、以下の3箇所を書き換え、その後でファイルをアップロードします。

4-1.20行目付近の書き換え

litebox-1.0.jsの先頭から20行目付近に、以下のリストのような部分があります。
赤字の部分を、アップロードしたファイルのアドレスに合わせて書き換えます。

・
・(略)
・
//
//	Configuration
//
var fileLoadingImage = "images/loading.gif";
var fileBottomNavCloseImage = "images/closelabel.gif";
var resizeSpeed = 6;	// controls the speed of the image resizing (1=slowest and 10=fastest)
var borderSize = 10;	//if you adjust the padding in the CSS, you will need to update this variable
・
・(略)
・

例えば、アップロード後のファイルのアドレスが、それぞれ以下のようになったとします。

  • http://blog-imgs-1.fc2.com/f/o/o/foo/loading.gif
  • http://blog-imgs-1.fc2.com/f/o/o/foo/closelabel.gif

この場合、前述の部分を以下のように書き換えます。

・
・(略)
・
//
//	Configuration
//
var fileLoadingImage = "http://blog-imgs-1.fc2.com/f/o/o/foo/loading.gif";
var fileBottomNavCloseImage = "http://blog-imgs-1.fc2.com/f/o/o/foo/closelabel.gif";
var resizeSpeed = 6;	// controls the speed of the image resizing (1=slowest and 10=fastest)
var borderSize = 10;	//if you adjust the padding in the CSS, you will need to update this variable
・
・(略)
・

4-2.20行目付近の書き換え

次に、litebox-1.0.jsの先頭から130行目付近に、以下のリストの赤字の行を追加します。

・
・(略)
・
// loop through all anchor tags
for (var i=0; i<anchors.length; i++){
	var anchor = anchors[i];
	if (anchor.getAttribute('href') && anchor.getAttribute('href').match(/jpg$|gif$|png$/) && !anchor.getAttribute('rel')) {
		anchor.setAttribute('rel', 'lightbox');
	}

	var relAttribute = String(anchor.getAttribute('rel'));
・
・(略)
・

4-3.ファイルのアップロード

ここまでが終わったら、litebox-1.0.jsを「litebox.js」というファイル名で保存します。
そして、そのファイルをFC2ブログにアップロードします。
アップロードが終わったら、ファイルのアドレスをメモ帳等にコピーしておきます。

5.テンプレートの書き換え

最後に、FC2ブログのテンプレートを書き換えます。

5-1.</head>タグの箇所の書き換え

まず、HTMLのテンプレートを編集する状態にして、テンプレートの中で「</head>」のタグを探します。
そして、そのタグの直前に、以下のリストの赤字の3行を追加します。
ただし、各ファイルのアドレスは、アップロード先に合わせて書き換える必要があります。

<link rel="stylesheet" href="http://・・・/lightbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://・・・/prototypelite.js"></script>
<script type="text/javascript" src="http://・・・/moofx.js"></script>
<script type="text/javascript" src="http://・・・/file/litebox.js"></script>

例えば、これら3つのファイルのアドレスが、それぞれ以下のようになったとします。

  • http://blog-imgs-1.fc2.com/f/o/o/foo/lightbox.css
  • http://blog-imgs-1.fc2.com/f/o/o/foo/prototypelite.js
  • http://blog-imgs-1.fc2.com/f/o/o/foo/moofx.js
  • http://blog-imgs-1.fc2.com/f/o/o/foo/litebox.js

この場合、前述の部分は以下のようにします。

<link rel="stylesheet" href="http://blog-imgs-1.fc2.com/f/o/o/foo/lightbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://blog-imgs-1.fc2.com/f/o/o/foo/prototypelite.js"></script>
<script type="text/javascript" src="http://blog-imgs-1.fc2.com/f/o/o/foo/moofx.js"></script>
<script type="text/javascript" src="http://blog-imgs-1.fc2.com/f/o/o/foo/litebox.js"></script>

5-2.<body>タグの書き換え

次に、「<body>」のタグを探して、そのタグに以下の赤字の部分を追加します。
そして、テンプレートを保存します。

<body onload="initLightbox()">

6.記事に画像を入れる

ここまでが終わったら、あとは記事に画像を入れるだけです。
サムネイル画像のimg要素をリンクのa要素で囲み、リンク先を画像のアドレスにします

トラックバック(2)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1346.

日々流転的備忘録 - Liteboxを入れてみた (2008年9月28日 21:07)

が,当ブログには合わなかったので,元に戻しました。これだけでは何のことか分からないので,少し解説を。  「Litebox」とは,サイトにアッ... 続きを読む

The blog of H.Fujimotoというサイトさまで紹介されていた Liteboxなるもの入れてみた。 大きなままのも結構好きな... 続きを読む

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

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

No.1 keiko : 設置できました。

初めまして。
この1週間ほど、Liteboxの導入を試みていたんですが上手くいかず、
あきらめかけていたところ、こちらの解説を読み何とか設置できました。

丁寧でわかりやすく教えていただきありがとうございました。

4-2で「リストの赤字の行を追加します」という箇所は、他のブログ解説では抜けていた部分で、大変助かりました。
お礼申し上げます。

ひとつ質問ですがよろしいでしょうか?
私はIE6.0で確認しましたが、他のブラウザでもほぼ大丈夫でしょうか?よろしくお願いいたします。

No.2  : Re:設置できました。

>keikoさん
こんにちは。

Liteboxは、IE6以外だけでなく、いまどきのブラウザなら問題なく表示できます。
ご自分のパソコンにFirefox等の他のWebブラウザをインストールして、表示できるかどうかを確認されると良いと思います。

No.3 かまた : お助け願います。

はじめまして。
FC2ブログスーパーテクニックを購読してLiteboxに挑戦したところ,
上手く動作せずに,こちらの解説を見つけて早速,取り組んでみたところ何故かまだ上手く行きません.

5-1./head>タグの箇所の書き換えの解説の中で,
・・・以下のリストの赤字の3行を追加します。との項がありますが,
私の使っているテンプレートのHTML文には既に
" type="text/css" rel="stylesheet" />
の記述があり,これを解説通りに
link rel="stylesheet" href=http・・・text/css"
に書き換えるとテンプレート自体が動作不良になり,また,
link rel="stylesheet" href=http・・・text/css"
を別に追記した場合テンプレートは正常ですが,Liteboxが未動作のままです。
それ以外の箇所は、解説通りに書き換えたつもりですが、
よいアドバイスをいただけませんか?

No.4  : Re:お助け願います。

>かまたさん
拙著をお買い求めいただき、ありがとうございます。

ご質問の件ですが、そちらのブログのアドレスをお知らせいただきたく思います。

No.5 匿名 : (無題)

壱さん
かまたです。返信が遅れて失礼しました。
当方のブログアドレスは、以下の通りです。
http://skyscrapernyc.blog45.fc2.com/
宜しくお願いいたします。

No.6  : (無題)

>かまたさん
そちらのページを拝見したところ、litebox-1.0.jsの書き換えを間違われていました。
以下のリストの赤字で示した「href」が「herf」になっていました(「e」と「r」の順序が逆)。

if (anchor.getAttribute('href') && anchor.getAttribute('href').match(/jpg$|gif$|png$/) && !anchor.getAttribute('rel')) {
No.7 かまた : 動きましたっ!!

>壱さん メリークリスマス!!

アドバイスありがとうございます。
単純なスペルミスでお手を煩わせてスミマセンでした。
おかげさまで正常にLiteboxが作動しまして大喜びです!
また、色々なワザに挑戦してパワーアップしたいと思います。

No.8 Erika : こんばんわ

初めまして。

Liteboxの導入をしてみたく、探していたらこちらのサイトに行きつきました。
書いてある通り書き換えたつもりなのですが、Liteboxが起動せずにいます。

よろしければアドバイスをいただけないでしょうか?
よろしくお願い致します。

No.9  : Re:こんばんわ

>Erikaさん
こんにちは。

そちらのページを拝見しましたが、スタイルシートやJavaScriptのファイルのアドレスが間違っているようです(ファイルに直接アクセスすると、「Page Not Found」のエラーが表示されました)。
アドレスをご確認の上、テンプレートを修正してください。

No.10 Erika : できましたー!

アドバイスありがとうございます。

確認して、手直ししたら起動しました!
URLミスだったようで、とても申し訳ないです。

これからもCSSやjavascriptを頑張って勉強していきたいと思います。
ありがとうございました!

No.11 Retrace : はじめまして

自ブログにliteboxを導入する為、検索にてこちらのページにたどり着きました。
一通り手順を終えたのですが、画像をクリックしてもloadingの画面の後に肝心の画像が表示されず、右下にcloseと表示された状態になっております。
時間をかけて原因を探りましたが、解決に至りませんでした。
手順5-2の項目は<body>となっているものをが二つありましたが、両方とも<body onload="initLightbox()">という形でよろしいのでしょうか?
また、画像のUP方法は
<a href="画像のアドレス(URL)" target="_blank" title="○○○" rel="lightbox"><img src="画像のアドレス(URL)" width="" height="" border="" alt=""/></a>

この方式で合っていますか?
ご回答のほうお願いします。長文失礼します。

No.12  : Re:はじめまして

>Retraceさん
こんにちは。

そちらのブログのアドレスをいただいていないのではっきりとは言えませんが、imgタグのwidthとheightに画像の幅と高さを指定してみてください。

No.14 Retrace : お早いお返事ありがとうございます。

ブログのリンクを貼らせていただきました。
画像のサイズの調節はできましたが、やはり画像をクリックすると相変わらず画像は表示されません…。
知人に聞いたところ、liteboxとしては機能しているからタグがおかしいとのことなのですが…。

No.15  : Re:お早いお返事ありがとうございます。

>Retraceさん
ブログを拝見しました。
Litebox自体は動いていますが、ボックス内の画像のスタイルシートがなぜか「visibility : visible」になっていて、画像が非表示になっているようです。
申し訳ありませんが、この原因は簡単には調べられそうにありません。

No.16 Retrace : (無題)

ご回答ありがとうございます。
今回は残念ですが諦めることにしました。
また、機会があればブログのほうも拝見させて頂きたいと思います。ありがとうございました!

No.17 ギリギリ廃人 : 突然のご連絡申し訳ありません

突然のご連絡申し訳ありません、Lightbox 2.04を導入しようと四苦八苦していたところこのブログ記事を見つけましてコメントさせて頂きました。
導入してみたもののcloseの文字等が表示されません、画像は表示されるのですが…、ご助力頂けないでしょうか?

No.18  : Re:突然のご連絡申し訳ありません

>ギリギリ廃人さん
こんにちは。

そちらのページを拝見しましたが、Liteboxを組み込んでいない状態になっているので、何が問題なのか見当がつきません。
Liteboxを組み込んだ状態にしてくださいますようお願いします。

コメントする