バージョン選択

フォーラム

メニュー

オンライン状況

51 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)
登録ユーザ: 3
ゲスト: 48
may88watch 8xbetviet rangerbiru もっと...

サイト内検索

質問 > 管理機能 > モバイルで商品一覧画像を表示したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nanasess
投稿日時: 2009/2/2 16:06
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2318
Re: モバイルで商品一覧画像を表示したい
tonton さん,

引用:

>1.x と基本的なロジックは変更していないので, 1.x の resize_image.php を移植してしまえば直るかもしれません.

1.4.7のソースを持ってきてみましたが、そのまま持ってきただけでは、やはりダメのようで、PCサイトでも画像自体が表示されなくなりました。


1.x の resize_image.php は 2.x では存在しない conf.php や glib.php を require しているので, このあたりを修正しなければいけません.

# ちょっと動作環境を用意できないので憶測ですみません.

引用:

私のサイトでは、携帯サイトは、XHTMLでcontent typeをapplication/xhtml+xmlとしているので、その影響もあるのかも、などと色々小さく変更したりしてみましたが、この部分は今のところダメみたいでした;


ここの関連は薄いのではないでしょうかねぇ...

引用:

今の段階では、firefoxのエミュレータで見ているのですが、ユーザーエージェントを携帯に変更すると、リサイズイメージが利かなくなります。


resize_image.php から呼んでいる gdthumb.php は, UA を見ていないので, 他のところに原因がありそうです.

html/require.php で, モバイルの UA の場合にリダイレクトさせているので, このあたりが怪しいですね...

html/require.php に依存しない resize_image.php を用意してあげたらいかがでしょう?


homan さん,

引用:

と、$smarty.const.SITE_URLで指定するのがミソだったような気がします。


憶測ですが, 上記ならモバイルの UA でもリダイレクトにならず, 上手くいくような気がします.

最近は PHP から思いっきり離れているので, はずしていたらすみません.

homan
投稿日時: 2009/2/2 16:09
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: モバイルで商品一覧画像を表示したい
引用:

nanasessさんは書きました:
homan さん,

引用:

と、$smarty.const.SITE_URLで指定するのがミソだったような気がします。


憶測ですが, 上記ならモバイルの UA でもリダイレクトにならず, 上手くいくような気がします.

最近は PHP から思いっきり離れているので, はずしていたらすみません.



はずしてませんよ おっしゃる通りでした。
ただ、上記でもうまくいかなかったので、結局/html/require.phpで強制的に転送しないようにしたらうまく行きました。(どこかで不具合が発生する可能性も無きにしも非ずですが・・いまのところ不具合の報告はありません)

書き込みが流れてしまったので、念のため解決するかもしれない書き込みのリンクを張っておきます。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=1838&forum=11&post_id=13040#forumpost13040


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

tonton
投稿日時: 2009/2/2 17:36
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: モバイルで商品一覧画像を表示したい
>nanasess様
>homan様
色々ヒントを頂き、ありがとうございます。

homanさんに教えていただいたように、

/html/require.php一番下あたり
--------
header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
--------

--------
/* resize_image.phpのときだけ、リダイレクト解除 */
if(!preg_match("/resize_image.php/i", $path)) {
header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
--------
に変更で、リサイズイメージを使用しても画像が表示できるようになりました。
いつもながら、ありがとうございます。

実は、フォーラムで紹介いただいたステータスを利用して新着商品やオススメ商品フラグがたっているものをいくつか表示するブロックを使用させて頂いておりまして、そこへ画像を出したかったのですが、こちらのソースを利用し、オススメ&新着商品ブロックをトップページにインクルードすることで、オススメ商品がアクセスごとにランダムにトップページに表示される、ということが携帯でもできるようになりました。

カスタマイズしていくとPCで動作できていても携帯では?となってしまって、困ることも多くて、この件は応用もできそうな内容で、解決できて、本当にうれしいです。助かりました!
ありがとうございます。

yat
投稿日時: 2009/2/4 11:46
対応状況: −−−
新米
登録日: 2009/2/4
居住地: 東京
投稿: 7
Re: モバイルで商品一覧画像を表示したい
こんにちは。
いつも皆さんの書き込みを参考に、
勉強させていただいてます。

こちらのスレッドを参考に、

モバイルのproducts/list.tplに以下のソースを追加

<img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&width=50&height=50" alt="<!--{$arrProducts[cnt].name|escape}-->" />

その後、
/html/require.phpを変更して
resize_image.phpのときだけ、
リダイレクト解除されるようにしたのですが
何も表示されていません。


ver2.0.1使用ですが、バージョンの問題なのでしょうか?
どなたか同バージョンで実装されている方がいましたら
ぜひともご教授願います。
tonton
投稿日時: 2009/2/4 15:01
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: モバイルで商品一覧画像を表示したい
バージョンの問題かどうかはわからないのですが、
対応していると仮定して。

>/html/require.phpを変更して
>resize_image.phpのときだけ、
>リダイレクト解除されるようにしたのですが

これは、どこの部分をどういう風に変えられましたか?

------------
header(”Location: “. SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
------------

------------
/* resize_image.phpのときだけ、リダイレクト解除 */
if(!preg_match(”/resize_image.php/i”, $path)) {
header(”Location: “. SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
------------

に変えるので、最後の「}」は2つ並ぶようになります。
私も最初失敗したのですが、一番怪しいのはこの部分の変更ミスではないかと思うのですが、いかがでしょうか?
最終部分の表記はこういう感じになっています。

------------
if (preg_match('|^' . URL_DIR . '(.*)$|', $_SERVER['REQUEST_URI'], $matches)) {
$path = $matches[1];
} else {
$path = '';
}

// header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
// exit;
/* resize_image.phpのときだけ、リダイレクト解除 */
if(!preg_match("/resize_image.php/i", $path)) {
header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
}
?>
------------
はずしていたらごめんなさい;
yat
投稿日時: 2009/2/4 16:53
対応状況: −−−
新米
登録日: 2009/2/4
居住地: 東京
投稿: 7
Re: モバイルで商品一覧画像を表示したい
>tontonさん

レスありがとうございます。

引用:

------------
header(”Location: “. SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
------------

------------
/* resize_image.phpのときだけ、リダイレクト解除 */
if(!preg_match(”/resize_image.php/i”, $path)) {
header(”Location: “. SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
------------


/html/require.phpの変更点は
上記の通りで間違いないです。
最後の「}」に関しても、きちんと閉じられており
文法ミスはありませんでした。

変更後の該当部分のソースは
下記の通りです。
------------
// 携帯端末の場合は mobile 以下へリダイレクトする。
if (SC_MobileUserAgent::isMobile()) {
if (preg_match('|^' . URL_DIR . '(.*)$|', $_SERVER['REQUEST_URI'], $matches)) {
$path = $matches[1];
} else {
$path = '';
}

$url = "";
if (SC_Utils_Ex::sfIsHTTPS()) {
$url = SSL_URL;
} else {
$url = SITE_URL;
}
//header("Location: ". SC_Utils_Ex::sfRmDupSlash($url . URL_DIR . "mobile/" .$path));
//exit;
/* resize_image.phpのときだけ、リダイレクト解除 */
if(!preg_match(”/resize_image.php/i”, $path)) {
header(”Location: “.SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
}
------------
う〜ん、phpについては勉強中なもので
正直お手上げ状態です。
もう少し該当箇所周りを調べてみます。
tonton
投稿日時: 2009/2/4 17:33
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: モバイルで商品一覧画像を表示したい
>yatさま

ふ〜む、そうなんですね〜。残念。
ちなみに、HTMLで書き出されたこの部分のページのソースはどういう風になっていますか?

ちなみに、うちは、

<img src="http://www.domain.com/resize_image.php?image=12261003_49550e7cf420b.jpg&amp;width=60&amp;height=60" alt="商品名">

となっています。そして、その名称の画像が/upload/save_image/に保存されています。
リサイズイメージがうまくいかなかったときは、リンクのついた商品名(=altに設定した部分の文字)が表示されていて画像は×でした。
このあたり、今時点でどこまでOKなのかのヒントになりませんでしょうかね?
tonton
投稿日時: 2009/2/4 17:41
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: モバイルで商品一覧画像を表示したい
ん!
わかった!!!?
とりあえず変なところ1つ。

<img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&width=50&height=50" alt="<!--{$arrProducts[cnt].name|escape}-->" />


これ!間違ってます。


<img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&amp;width=50&amp;height=50" alt="<!--{$arrProducts[cnt].name|escape}-->" />

が正しいです。
widthとheightとつなげる&は、「&」ではいけません。「&amp;」です。(小文字だと変換されてしまって入らないので、全角で書いていますが半角です。)

というところは、ソース上は大丈夫ですか?
(自信なくなってきた;)
yat
投稿日時: 2009/2/4 19:35
対応状況: −−−
新米
登録日: 2009/2/4
居住地: 東京
投稿: 7
Re: モバイルで商品一覧画像を表示したい
>tontonさま

>widthとheightとつなげる&は、「&」ではいけません。
>「&amp;」です。(小文字だと変換されてしまって入らないので、全角で書いていますが半角です。)

確かに!間違っていました!
それで、ご指摘いただいた部分を直してみたのですが
やはり症状は同じです(泣)

商品一覧ページhttp://www.hogehoge.com/mobile/products/list.php?
の該当する画像部分のソースを見ますと、
<!--No image-->
となっており、alt属性も表示されていません。

ちなみに同スレで、homanさんが書かれていた
引用:

<img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$arrProduct.main_list_image}-->&width=48&height=48" alt="<!--{$arrProduct.name|escape}-->" />

をmobile/list.tplに記述してみたところ、
<img src="/upload/mobile_image/×××.jpg" alt="×××" />と、
リサイズのかかっていない商品一覧画像(main_list_image)が
表示されました。

つまりresize_image.php?が
呼び出しできていないのでしょうか...?
tonton
投稿日時: 2009/2/4 21:34
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: モバイルで商品一覧画像を表示したい
><!--No image-->
>となっており、alt属性も表示されていません。

リサイズされた画像は、uploadのディレクトリ中に保存されていますか?

画像が保存されているのであれば、resize_imageは効いていると思いますし、保存されていないのであれば、resize_imageが効いていないか、該当ディレクトリのパーミッションが書き込み可になっておらず、画像が保存されていないかということが考えられます。

resize_imageが効いていない場合は、ちょっと私も手元に該当するバージョンのEC-CUBEを持っていないので、なんともいえませんが、パーミッションの問題も考えられますので、まずは、画像の保存状況とディレクトリのパーミッションを確認してみてください。

<!--No image-->と出るということは、プログラムで画像があるかどうか検索は掛かっているのではないかと思いますので、この辺が怪しいかもしれませんね。
« 1 2 (3) 4 5 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は93,679名です
総投稿数は111,075件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2318
5
umebius
2085
6
yuh
1857
7
h_tanaka
1756
8
red
1574
9
mcontact
1466
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.