Re: myalbumで複数画像の改造方法
投稿ツリー
このトピックの投稿一覧へ
Re: myalbumで複数画像の改造方法
msg# 1.3
表示関係は、PHPもいじりましたが、テンプレートもいじっていました。
よくもまぁ改造したもんだと自分でも思っていますが。
まず、テンプレートへ書き出すためのphoto.phoです。
52行目あたりに
$xoopsTpl->assign_by_ref( 'photo' , $photo ) ;
とあります。これで、写真をテンプレートへ書き出しているようです。
そこで、その下に、サブ画像を出力するスクリプトを書きました。
ただ、ファイルが存在する時だけ書き出すように、file_exists関数で存在チェックを行っています。
本来なら、データベースを用いて、サブ画像が何枚あるのか、登録しておけばいいのでしょうが、そこまでのスキルはありませんでした。
if (file_exists("$photos_dir/$lid-1." . $photo['ext'])) {
$size = getimagesize("$photos_dir/$lid-1." . $photo['ext']) ;
$photo1 = array( "url" => "$photos_url/$lid-1." . $photo['ext'] , "thum" => "$thumbs_url/$lid-1." . $photo['ext'] , "sx" => $size[0] , "sy" => $size[1] ) ;
} else {
$photo1 = array( "url" => "" , "thum" => "" , "sx" => 0 , "sy" => 0 ) ;
}
$xoopsTpl->assign( 'photo1' , $photo1 ) ;
そして、これは、ループ処理で、処理させてみようとしたけど、うまくいかなかったので、マルチステートメントで、必要な分書きました。
サブ画像2はこうです。
if (file_exists("$photos_dir/$lid-2." . $photo['ext'])) {
$size = getimagesize("$photos_dir/$lid-2." . $photo['ext']) ;
$photo2 = array( "url" => "$photos_url/$lid-2." . $photo['ext'] , "thum" => "$thumbs_url/$lid-2." . $photo['ext'] , "sx" => $size[0] , "sy" => $size[1] ) ;
} else {
$photo2 = array( "url" => "" , "thum" => "" , "sx" => 0 , "sy" => 0 ) ;
}
$xoopsTpl->assign( 'photo2' , $photo2 ) ;
以下、必要な分だけ作成。
テンプレートへは、photo1,photo2,…という配列で出力しています。
次に、テンプレートでそれを受け取るわけですが、myalbum_photo.htmlに手を加えます。
サブ画像を表示させたい所に
<{if $photo1.thum}>
<a href="<{$photo1.url}>"><img src="<{$photo1.thum}>" border="1" /></a>
<{/if}>
とする事で、サブ画像を表示させました。
こんな、ぼろぼろのカッコ悪い手の加え方ですが、ヒントになれば幸いです。
ちなみに、その後、lightboxというJAVAスクリプトを使って、カッコよく表示させています。
この投稿に返信する