画像をカッコよく表示する-Lightbox-OpenPNE編

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

画像をカッコよく表示する-Lightbox-MovableType編に続き、OpenPNE編です。
OpenPNEのバージョンは、v2.12.4 です。

入れ込む箇所は、日記、コミュニティのトピックとそのコメント、イベントとそのコメントの画像表示部分に入れ込みます。その他、メッセージやレビューにもありますが、使用頻度が少ないので、今回はパスします。


まず、LightBoxを一式、サーバにアップします。MovableType同様に /lightbox にアップするとします。
この場合、LightBoxのソースをMovableType編同様に修正する必要があります。

次に、OpenPNEのテンプレートを修正します。

LightBoxの組み込み

まず、全体的にLightBoxを読み込む部分を修正します。対象となるテンプレートは、
webapp/modules/pc/templates/common/layput.tpl
です。
この14行目以降(</head>の前)に

<script type="text/javascript" src="./lightbox/js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="./lightbox/js/lightbox.js"></script>
<link rel="stylesheet" href="./lightbox/css/lightbox.css" type="text/css" media="screen" />

の3行を追加します。
LightBoxは本来

<script type="text/javascript" src="js/prototype.js"></script>

も必要なのですが、OpenPNEの場合、既に、prototype.js は読み込み済みなので、これは省略します。

また、head部に入れるということで、layout.tpl を修正するのではなく、管理画面の「【PC版】HTML挿入(HTML head内) 」から3行を追加しても良いと思ったのですが、IE6でエラーとなりました。
ここから追加出来れば、テンプレートを修正しなくてもいいので良かったんですが、エラーが発生しては使えません。。
<head> の直後に挿入されるので、挿入位置の問題かと思います(未検証です)。

日記への組み込み

次に日記の部分を修正します。日記は、

・日記の詳細:例えば、「マイフレンド最新日記」の表示されるリンクをクリック
・日記の一覧:自分のページの「日記」をクリック、他の人のページの「日記を読む」をクリック
・日記の編集:自分の日記から「編集」をクリック

の3箇所に画像が表示されます。それぞれ最大3つまで。

OpenPNEの標準だと、target="_blank" なので、別窓で表示されます。ですので、この部分を rel="lightbox~" に変更すればOKです。

■日記の詳細の対象となるテンプレートは、
webapp/modules/pc/templates/fh_daialy.tpl
で、この106行目から108行目が日記の画像(最大3つ)を表示する部分なので、ここの target="_blank" を

rel="lightbox[diary]"

と変更します。[diary]は3つをグルーピングして連続して表示可能とするためです。
日記には、コメントを付けることが出来て、そのコメントにも画像を付けることが出来ます。187行目から189行目がそのコメントの画像を表示する部分なので、ここも同様に変更したいところですが、同じように変更すると、そのページに表示される日記やコメントの画像が全部1つのグループになってしまいます。
出来れば、日記やコメント単位でグルーピングしたいので、日記やコメントのIDを使います。
187行目から189行目の部分は

rel="lightbox[c({$item.c_diary_comment_id})]"

とします。({$item.c_diary_comment_id})がコメントのIDとなる部分です。IDはコメント毎に番号が違うので、これでコメント単位にクルーピング出来ます。
同じような形にするならば、日記のほうも

rel="lightbox[d({$target_diary.c_diary_id})]"

と日記のIDを指定してもいいでしょう。この場合、日記とコメントのIDが重なる可能性もある(と言っても、ほとんど無いですが…)ので、それぞれのIDの頭に d や c の文字を付けて区別します。


■日記の一覧は、
webapp/modules/pc/templates/fh_daialy_list.tpl
です。
この144行目から146行目の target="_blank" の部分を

rel="lightbox[d({$item.c_diary_id})]"

と変更します。
日記の一覧には、複数の日記が表示されるので、日記毎にグルーピングするために、日記のID({$item.c_diary_id})を使います。


■日記の編集は、
webapp/modules/pc/templates/fh_daialy_edit.tpl
です。
この103行目、116行目、129行目の target="_blank" の部分を

rel="lightbox[dialyedit]"

と変更します。
ここは、1つの日記しか表示されないので、3つの画像をグルーピングするという意味で [diaryedit] と指定しました。ここの文字はなんでも構いません。

これで、日記の変更は完了です。

トピックへの組み込み

基本は日記と同じです。

トピックは、トピックの詳細と一覧の2つのテンプレートのみです。

それぞれのテンプレートと修正内容は以下のとおりです。

■トピック詳細
webapp/modules/pc/templates/c_topic_detail.tpl
23行目から25行目

rel="lightbox[t({$c_topic.c_commu_topic_id})]"

102行目から104行目

rel="lightbox[c({$item.c_commu_topic_comment_id})]"

■トピック一覧
webapp/modules/pc/templates/c_topic_list.tpl
63行目から65行目

rel="lightbox[d({$item.c_commu_topic_id})]"

イベントへの組み込み

イベントはトピックと同じ内容です。

■イベント詳細
webapp/modules/pc/templates/c_event_detail.tpl
26行目から28行目

rel="lightbox[t({$c_topic.c_commu_topic_id})]"

136行目から138行目

rel="lightbox[c({$item.c_commu_topic_comment_id})]"

■イベント一覧
webapp/modules/pc/templates/c_event_list.tpl
62行目から64行目

rel="lightbox[d({$item.c_commu_topic_id})]"


OpenPNEのバージョンが違うとテンプレートファイル名や修正する位置が異なりますので、バージョンに合わせて読み替えてください。
また、修正はご自分の責任でお願いします。

●参考にしたブログ
OpenPNE で Lightbox

トラックバック(0)

トラックバックURL: http://www.karakuriya.biz/mt/mt-tb.cgi/769

コメントする

ウェブページ

Powered by Movable Type 4.261

このブログ記事について

このページは、H.Imaiが2008年10月13日 01:35に書いたブログ記事です。

ひとつ前のブログ記事は「imageフォルダの中身を見せない」です。

次のブログ記事は「Yahoo!の地図をブログ、サイトにはりつける」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。