[PHP-users 27251] Re: amazon ECS ”Medium”で画像が返ってこない時がある
shima tetuo
mlmlml @ lily.freemail.ne.jp
2005年 10月 19日 (水) 13:50:55 JST
tetuoです。
メンテナーの方ですね。コードは大変参考にさせて頂いております。
On Wed, 19 Oct 2005 11:08:55 +0900
Tatsuya Tsuruoka <ttsuruoka @ p4life.jp> wrote:
>
> Amazon のディスカッションボードに同じ現象の報告がありました.
> http://forums.prospero.com/n/mb/message.asp?webtag=am-assocdevxml&msg=8797.11&ctx=4096
メーリングリストなどを探していましたが、そういえば昔このディスカッション
サイトを見た事があったように記憶してます。
いずれにしても、現状は待つしかなさそうですね。
> isset(),empty() などで画像の情報を調べて,
> 空の場合には代替画像の URL,Height, Width を
> 設定しておけばよいと思います.
現状、Smartyのプラグインで逃げています。
適当に作っていますが、他の方の参考になれば...
---------------
使う時
$itemは、PEAR::Services_AmazonECS4で返ってきたItem1つのデータ丸ごと
---------------
<img src="{amazon_image item=$item size="LargeImage"}">
---------------
プラグイン
---------------
<?php
function smarty_function_amazon_image($params, &$smarty){
$itemData = $params['item'];
$imageSize = $params['size'];
if(isset($itemData['ImageSets']['ImageSet'])){
$set = $itemData['ImageSets']['ImageSet'];
if(is_array($set)){
foreach ($set as $each){
if($each['Category'] == 'primary'){
return $each[$imageSize]['URL'];
}
}
}else {
return $set[$imageSize]['URL'];
}
}
if(isset($itemData[$imageSize]['URL'])){
return $itemData[$imageSize]['URL'];
}
return '/images/AmazonNoImage.gif';
}
?>
tetuo
mlmlml @ lily.freemail.ne.jp
http://mlmlml.seesaa.net/
PHP-users メーリングリストの案内