サムネイル画像よりサイズが大きい場合のみサムネイル表示させたい

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
bcacsato
パワーユーザー
記事: 234
登録日時: 2005年11月27日(日) 14:05

サムネイル画像よりサイズが大きい場合のみサムネイル表示させたい

投稿記事 by bcacsato » 2005年12月19日(月) 21:15

たびたび恐れ入ります。

リファレンスマニュアルを参考に、画像をサムネイル表示して、クリックにより実寸表示するよう設定しました。
しかし、これですと、サムネイルより大きい画像をアップロードする分には縮小されて表示されるため問題ないのですが、
サムネイル画像より小さい画像をアップロードした場合には実寸サイズよりも拡大されて表示されてしまいます。

そこで、
・サムネイルよりも横幅が大きい画像→サムネイル表示して、クリックして実寸表示
・サムネイルよりも横幅が小さい画像→サムネイル表示せずに実寸サイズで表示、クリックはできず
としたいと思い、下記の通りテンプレートを作成しました。

<xsl:if test="image/text()"><xsl:if test="{image/@width}>160"><img src="{image}" /></xsl:if><xsl:if test="{image/@width}<=160"><a href="{image}" target="_blank"><img src="{image}&w=160" /></a></xsl:if></xsl:if>

しかし、このようにしてもやはり、小さい画像もサムネイル表示されてしまいました。

恐れ入りますが、どこを直せばよいか教えていただけますでしょうか?

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: サムネイル画像よりサイズが大きい場合のみサムネイル表示させたい

投稿記事 by webmaster » 2005年12月20日(火) 11:50

 webmasterです。bcacsatoさん、いつもご質問ありがとうございます。

 このテンプレートの内容ですと、

 ・幅が160より大きい場合は、そのまま表示。
 ・幅が160以下の場合は、サムネイルを表示。

 になると思います。恐らく、>と<を逆にすればOKなのではないかと思います。

 マニュアルの方に記述ミスがあった点を先日指摘されましたので、恐らくそれを
ご覧になったのだと思います。混乱させてしまい、申し訳ありません。

 ltはlower than、gtはgreater thanの略と覚えて頂ければ分かりやすいかと
思います。

 以上、お手数ですが一度お試し頂ければ幸いです。

bcacsato
パワーユーザー
記事: 234
登録日時: 2005年11月27日(日) 14:05

なぜか画面が真っ白に…

投稿記事 by bcacsato » 2005年12月20日(火) 19:51

ご回答ありがとうございます。

さっそく、「>」と「<」を逆にしてみたのですが、画面が真っ白になり何も表示されなくなりました。
(何も表示されないということはコーディングが間違ってるんですよね?)

例えば、

コード: 全て選択

<xsl:if test="{image/@width}<=160"><img src="{image}" /></xsl:if>
この「{image/@width}」の部分を、たとえば「a」などとするとページは表示されます。

ということは「{image/@width}」の書き方が間違っているのでしょうか?

恐れ入りますが、教えて下さい<(_ _)>

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: なぜか画面が真っ白に…

投稿記事 by webmaster » 2005年12月20日(火) 19:59

 webmasterです。申し訳ありません、最初の投稿の際に気づくべきでした。
 仰るとおり、

(×) test="{image/@width}<=160"

 ではなく、

(○) test="image/@width<=160"

 が正解です。ひょっとしてマニュアルにそのような記述がされている箇所があった
でしょうか…?

 <img src="{image}" /> の方はこれで合っていますので、そのままでOKです。
 お手数をおかけして申し訳ありません。m(_ _;)m

bcacsato
パワーユーザー
記事: 234
登録日時: 2005年11月27日(日) 14:05

解決しました

投稿記事 by bcacsato » 2005年12月20日(火) 20:36

うまくいきました :D おかげさまです<(_ _)>

リファレンスマニュアルのP.30/72(5.5.2)を参考にしたのですが、
”{ }”で囲むのは、「属性の中にデータを埋め込みたい」場合なのですね。

いまいちまだxmlが理解できていないため、失礼いたしましたm(_ _)m

bcacsato
パワーユーザー
記事: 234
登録日時: 2005年11月27日(日) 14:05

投稿記事 by bcacsato » 2006年3月27日(月) 18:31

いつも大変お世話になっております。
マニュアルの方に記述ミスがあった点を先日指摘されましたので、恐らくそれを
ご覧になったのだと思います。混乱させてしまい、申し訳ありません。
こちらの件ですが、今回のマニュアル改訂でも直ってないですよね!?

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

投稿記事 by webmaster » 2006年3月28日(火) 09:38

 webmasterです。bcacsatoさん、いつもお世話になっております。

 修正箇所について勘違いをしており、修正漏れが起きていたようです。
 早急に修正版を掲載します。ご指摘ありがとうございました。m(__)m

返信