Re: myalbumで複数画像の改造方法 - 雑談 - フォーラム

Re: myalbumで複数画像の改造方法

投稿ツリー


このトピックの投稿一覧へ

ノーザラント

なし Re: myalbumで複数画像の改造方法

msg# 1.3
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2013/1/26 0:47 | 最終変更
ノーザラント  管理人   投稿数: 422
表示関係は、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スクリプトを使って、カッコよく表示させています。

この投稿に返信する

題名
ゲスト名
メッセージアイコン
投稿本文 url  email  imgsrc  image  code  quote
サンプル
bold  italic  underline  linethrough    


ニッ にっこり シュン エッ!? ん? フフッ げらげら むぅ べー  [もっと...]
オプション

  条件検索へ