XREAで完璧XOOPS その8 ↑
あの便利な Lightbox Plus を myAlbum-P 2.9 に実装しようか ↑
|
|
英語化 |
| 短縮URL | http://fs4y.com/?e=8 |
【目次】
参考デモページ ↑
| 各ブラウザーでの表示例 | ||
|---|---|---|
| Firefox1.5.0.11 | IE6 | Opera |
|
|
|
|
| Lunascape4(Gekko) | Lunascape4(IE) | Sleipnir |
|
|
|
|
|
HAMSTER Site - ハム画像+ XREAサーバーです。 Lightbox plus はクライアント・サイド・アプリケーションですので、データーが全て、あなたさまのブラウザーに受信してから後に、あなたさまのブラウザーが処理を実行して機能します。そのような理由ですので、レスポンスが遅いかも知れませんが、受信完了までクリックするのはお待ち願います。尚、JavaScriptファイルもブラウザーにキャッシュされますので再訪問時は改善されるかもです。まあ、デモですので、レスポンスの悪さはご容赦願います。m(__)m さて、Lightbox Plus についての詳細な記事は、「 Lightbox Plus を使ってみる 」をご覧下さい。 |
||
当モジュールの特徴 ↑
- テーマの編集は無用です。
- MyAlbum-Pの「 photo.php 」を起動するまでは、クライアントプロセスに負荷を与えません。
- 画像以外をMyAlbum-Pの「 photo.php 」で表示した場合、クライアントプロセスに負荷を与えません。
| つまり、画像種に限定してMyAlbum-Pの「 photo.php 」で表示した場合に Lightbox Plus 環境を自動的に構築します。 |
Lightbox Plus を実装した、MyAlbumモジュールの配布開始 ↑
【本Wikiページの目的】:
- 既存稼動中のXOOPS2モジュール「 myAlbum-P 2.9 」に簡単にアドオン導入を可能にする
- また、簡単にアンインストールを可能にする
- 既存稼動中とは別の「 myalbum8 」や「 myalbum9 」でテスト可能
- 無駄、無用なJavaスクリプトを発生させない。「 photo.php 」実行時に、画像ファイルの場合だけ、Lightbox Plus 環境を構築する。PDFファイルや、圧縮化ファイル時は、target=_blank となって、無用な Lightbox Plus スクリプトを発生させない。
| ※ 以上を達成するためにモジュール配布を行います。 |
必要と思われるスキルとは ↑
※ 本Wikiでの解説では、XOOPS2のモジュールの導入については既に理解ができる方を対象にしております。また、「 myAlbum-P 2.9 」の詳細操作のご案内は割愛します。
つまり初めて「 myAlbum-P 2.9 」をご利用になる方は、当方のインストールの前に、「 myAlbum-P 2.9 」正規配布品のダウンロードと、インストール、そして利用する為の調整を行って、「 myAlbum-P 2.9 」の操作に慣れて下さいませ。もしも文字化けが起こる場合は、本ダウンロードによって改善される場合がありますので、落胆されないように願います。
ダウンロード ↑
プレ・インストール ↑
- 1.Lightbox Plus共有基本ディレクトリーの転送
- 配布ディレクトリー「 modules / myalbum / LightboxPlus 」をそのまま転送願います。本段階で、何も影響しません。
- 2.必要なら myalbum8 ディレクトリーの転送とモジュールインストールとテスト
- 「 modules / myalbum8 」をそのまま転送願います。
- 3.必要なら myalbum9 ディレクトリーの転送とモジュールインストールとテスト
- 「 modules / myalbum8 」をそのまま転送願います。
※モジュール「 myalbum8 」なり「 myalbum9 」を通常のモジュールのようにインストールします。基本の「 myalbum 」と全く同じです。モジュール「 myalbum8 」なり「 myalbum9 」を利用する場合には、Lightbox Plus共有基本ディレクトリーとなる「 myalbum 」下に当配布物である「 LightboxPlus 」ディレクトリーとその下のファイル群が必須です!
モジュール「 myalbum8 」利用検証の意義 ↑
※ PHPのバージョンや、MySQLのバージョン、そして.htaccessなどの指定によって、mbstring機能の効果によって、文字化けが無いことを検証する目的のモジュールです。
つまり「 submit.php 」なり「 editphoto.php 」は、配布元のオリジナルです。さて、文字化けは起こりませんか?! 起きなければ、とても幸せなことです。「 submit.php 」なり「 editphoto.php 」の改竄は無用だと言うことです。
筆者の経験では、Free Web Hosting の中には、mbstring変換パラメーターの設定を許可していないサーバーもありました。そのようなサーバーに遭遇しても、文字化けしないようにすることを考えることは必要でした。
モジュール「 myalbum9 」利用検証の意義 ↑
※ 筆者は、mbstringに関する指定を省くことによって、少しでもサーバー側のストレスを軽減させて、尚且つ、文字化けしない「UTF-8なXOOPS2」を目指してきました。そこで、「 myalbum8 」のオリジナル配布品のコードを改竄したのが「 myalbum9 」です。「 submit.php 」なり「 editphoto.php 」を改竄しています。mbstring変換に依存しない設定時に「 myalbum8 」のオリジナル配布品で文字化けが起こる場合に、是非「 myalbum9 」を試してみてください。
※ 改訂内容は、
http://xoops.peak.ne.jp/modules/d3forum/index.php?post_id=6421
で詳しく触れております。この当時のレポートでは、「プレビュー」機能が不備ですが、本Wikiでの配布品では当然改訂しております。
※ XREAサーバーでは、PHP4+MySQL4系統も、PHP5+MySQL5系統でも、myalbum の管理画面で、カテゴリーの登録/編集において漢字の文字化けは起こりませんが、他のサーバーではカテゴリー編集時に漢字の文字化けを起こす場合があります。そこで、myalbum / admin / index.php を改訂しました。これでカテゴリー登録も文字化け無しですね。
※ また、PHPによっては警告を表示しますので、myalbum / include / read_configs.php を改訂しました。
さあ、あなたの myAlbum-P 2.9 にインストールしましょうか ↑
※ 文字化けがあって、改竄された「 submit.php 」なり「 editphoto.php 」を利用する筆者製の(笑) 「 myalbum9 」を利用すると、文字化けが無くなりましたか? それとも最初から文字化け無しですか? 既に myAlbum-P 2.9 を利用されているのですから、文字化け対策済みですよね。 それでも近い将来、新しいサーバーに移転する時には、思い出してみてください。「 今度は、mbstring変換プロセス抜きでスタートしますか。 」ですよね。
※ 筆者は、ここまで、mbstringに関して無指定なまま、XREAでは利用できております。 mbstring変換が無いだけ処理は早いはずですよね。 (^^)
モジュール「 myalbum8 」で文字化けなく、Lightbox Plus を利用できた場合のインストール ↑
※ アンインストールする場合に備えて、上書きするのではなく、元ファイルはリネームしておきましょうか。それともバックアップを行ってください。
- 1.add_module / myalbum / photo.php を導入します。
- 言語に依存しませんので、EUC-JPなXOOPS2でも利用できますよね。
- 2.add_module / myalbum / templates / myalbum_photo.html を導入します。
- myalbumモジュールの副番に合致したテンプレートを間違い無く選択しコピーしてください。
- 3.MySQL内のDBのテンプレートを更新しなければ、目的地に到達しません。*1
- 「 [[XREAで完璧XOOPS その6 - XOOPSテンプレート管理モジュール「 tplsadmin module 1.01 」の導入と更新処理>XREAで完璧XOOPS その6#tplsadmin]] 」を参照願います。順路の通りに読まれた方は、既に tplsadmin module 1.01 を利用されてますね。
モジュール「 myalbum9 」で文字化けなく、Lightbox Plus を利用できた場合のインストール ↑
※ アンインストールする場合に備えて、上書きするのではなく、元ファイルはリネームしておきましょうか。それともバックアップを行ってください。
- 1.add_module / myalbum / photo.php , submit.php , editphoto.php
add_module / myalbum / admin / index.php
add_module / myalbum / include / read_configs.php を導入します。 - 言語に依存しませんので、EUC-JPなXOOPS2でも利用できますよね。
- 2.add_module / myalbum / templates / myalbum_photo.html を導入します。
- myalbumモジュールの副番に合致したテンプレートを間違い無く選択しコピーしてください。
- 3.MySQL内のDBのテンプレートを更新しなければ、目的地に到達しません。*2
- 「 [[XREAで完璧XOOPS その6 - XOOPSテンプレート管理モジュール「 tplsadmin module 1.01 」の導入と更新処理>XREAで完璧XOOPS その6#tplsadmin]] 」を参照願います。順路の通りに読まれた方は、既に tplsadmin module 1.01 を利用されてますね。
Q&A ↑
Q: ちょっとだけ、Lightbox Plus の機能をOFFしたいのですが、簡単ですか? ↑
- A はい簡単です!
- ディレクトリ-「 myalbum 」下に配置されたLightbox Plus共有基本ディレクトリー「 LightboxPlus 」ディレクトリーをリネームするだけです。これで、全ての「 myalbum, myalbum0 ~ myalbum9 」が自動的にオリジナルな仕様に戻ります。
Q: 独自のオーバーラップ画像との交換は可能でしょうか? ↑
- A はい簡単です。(*^^*)
- ディレクトリ-「 myalbum / LightboxPlus 」ディレクトリー下のファイル「 lightbox_plus.php 」の、JavaScript変数「 OVERIMGURL 」を変更します。初期値は以下の通りです。どこの画像でも埋め込み可能ですよ。楽しんでください。
if($photo['is_newphoto']) $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/images/newred.gif';"; else if($photo['is_updatedphoto']) $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/LightboxPlus/images/update2.png';"; else if($photo['is_popularphoto']) $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/images/pop.gif';";
Q: myalbumxそれぞれに異なるLightBoxを導入可能でしょうか? ↑
- A はい、可能です。
- 以下は、「 photo.php 」に埋め込んだスクリプトです。参考にして下さい。PHP変数「 $basedirname=$mydirname; 」にすれば、個々の LightboxPlus を参照するようにはできますね。
/* BEGIN --- for Lightbox 2007/05/20 by Ujiki.oO */
// $basedirname = $mydirname;
$basedirname = "myalbum";
$file_ext = strtolower($photo['ext']);
$xoopsTpl->assign( 'file_ext' ,$file_ext ) ;
if($file_ext=='jpg'||$file_ext=='gif'||$file_ext=='png'){
if(file_exists(XOOPS_ROOT_PATH."/modules/$basedirname/LightboxPlus/lightbox_plus.php")){
include_once XOOPS_ROOT_PATH."/modules/$basedirname/LightboxPlus/lightbox_plus.php" ;
if(!empty($lightbox_plus))
$xoopsTpl->assign( 'xoops_js' ,"$lightbox_plus" ) ;
$xoopsTpl->assign( 'Lightbox' ,'on' ) ;
}
}
/* END --- for Lightbox 2007/05/20 by Ujiki.oO */
【 解説 】:
- $basedirname
初期値は「myalbum」固定で、「LightboxPlus」を参照します。 - $file_ext
ファイルの拡張子を代入します。 - $xoopsTpl->assign( 'file_ext' ,$file_ext ) ;
テンプレート側で「 PDF 」な場合に、_blank していたりします。 - 後は、テンプレートの編集ですね。photo.php が参照するテンプレートは、「 templates 」下の「 myalbumx_photo.html 」ですね。注記)xには数字が当てはまりますよね。または、myalbum_photo.html
応用 ↑
他のサイト、手打ちによる画像などの利用を禁止させる方法: ↑
※ 今回の配布ファイルには、「 uploads / photo8, photo9 / htaccess 」ファイルがあります。是非、参考にして下さい。
- > 配布ファイルのURLを自分のサイトに変更する。
配布品は例としての特定のURLからの接続時のみ閲覧可能な設定ですね。
仮に、あなたのXOOPS2サイトが、「 http://www.abcd.co.jp/ 」なら、
SetEnvIf Referer "^http://www\.abcd\.co\.jp/" ref_ok
- と、変更しましょう。Lightbox Plus の機能とあいまって、著作権利保護の方向に少し前進できるのかも知れませんね。
全てのモジュールでLightboxを利用する方法 ↑
※ 2007/06/18 「 XREAで完璧XOOPS その10 」でご案内中のインストーラーで新規インストールを行いますと、管理メニューが新設され、管理メニューとの対話だけで、全てのモジュールにおける「リンク先が画像」の場合にだけ、クライアント・プロセスである「 Lightbox Plus 」環境を自動的に構築します。
※ そこで、「 XOOPSの全てのモジュールでLightboxを利用する方法 」で、解説することと致しましょう。
※ PDFファイルなどを、open.window で表示させる機能も追加完了しております。
順路 ↑
includes/vote2007 を参照
| 匿名アンケート | |
|---|---|
| 年齢 | 性別 |
|
年齢・性別はこのPukiWikiで一度だけ
回答ください
|
|
| 本ページは役にたった | |
|---|---|
*1 XreaCore/07_mytplsadmin が助けになるでしょうか。
*2 XreaCore/07_mytplsadmin が助けになるでしょうか。
添付ファイル:





