質問 > 管理機能 > モバイルで商品一覧画像を表示したい |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
tomy |
投稿日時: 2009/5/22 20:11
対応状況: −−−
|
新米 登録日: 2009/5/9 居住地: 東京 投稿: 10 |
参考になりますでしょうか? ↑上のloccoさんの問題は、既に1ヶ月が経過していますので、もう解決されたのでしょうか?
実は私もVersion2.3.4なので、同じ現象でした。 画像は表示されても携帯ブラウザの画面いっぱいに横に広がった縦横比を完全に無視した歪なものが表示されていました。 他の方は既に解決されているみたいなのに、どうしてちゃんと表示されないのか? 悩みの種みたいになって、mobileでサムネイル画像を表示させるのはもう諦めようかと考えておりましたが、何とか解決しました。 それをご報告しようと思います。 まず、『EC-CUBEの学校』でhoman先生が書かれた記事【EC-CUBE2系のモバイルサイトでサムネイル表示をする。】を参考に /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; } 私はmobileトップページのオススメ商品に画像を一緒に表示したかったので、 data/Smarty/templates/default/mobile/frontparts/block/best5.tpl ここで <!--{foreach from=$arrProducts key=i item=arrProduct name=list}--> ↑と↓の間の表示させたい場所に <!--{/foreach}--> <!-- ▼画像表示 --> <!--{if $arrProduct.main_list_image != ""}--> <!--{assign var=image_path value="`$arrProduct.main_list_image`"}--> <!--{else}--> <!--{assign var=image_path value="`$smarty.const.NO_IMAGE_DIR`"}--> <!--{/if}--> <img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&width=60&height=60" alt="<!--{$arrProduct.name|escape}-->" /> を貼り付けました。 で、これらをFTP転送して、DoCoMoの?i-mode HTML Simulator ??というPC上で携帯画面を確認できるソフトで見ると、 案の定、画像が画面いっぱいに横に広がっています。そして?alt?の中は空っぽ。 そのソースも 引用:
にはなっていませんでした。つまりimgタグを全く読み込んでいないみたいです。 そこで、ある方のブログを参考に以下のように変更しました。 data/class/SC_MobileImage.php 上記ファイルの92行目部分 if (isset($converted['outputImageName'])) { $buffer = str_replace($value, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer); } else { $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer); } これを以下のようにしてmobile画像を勝手にリサイズしてしまう部分を切ってしまいます。 if (isset($converted['outputImageName'])) { // $buffer = str_replace($value, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer); } else { // $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer); } $bufferの部分をコメントアウトしています。 で、これを上書きアップロードして再度i-mode HTML Simulator ?で見ると、ちゃんと正常な(?)画像が表示されました。 ソースも上のtontonさんが示されたようなものにちゃんとなっていますし、?alt?にも商品名が入りました。 私のau携帯でも恐る恐る試しに見てみると、なんと大成功でした。 ただし、弊害も出てきました。 mobileトップページにあるロゴですが、これはPC用と同じものを今までは携帯用にリサイズしてくれていたのですが、 上のように変更することで、ロゴ画像がいびつになってきました。 携帯用の小さな画像なんですが、なんか違う感じです。 ここは割り切ってテキストにしようかなと考えています。 私もEC-CUBEもphpもはまだまだ勉強中で、上のような改造が果たして大丈夫なものかどうかわからないですが、 もし参考にしていただければと思い、投稿させていただきました。 |
フラット表示 | 前のトピック | 次のトピック |