KH-WEBLOG TOP > WEBメモ > EC-CUBE > モバイルサイトの画像強制リサイズを防ぐ:EC-CUBE2.11.1

モバイルサイトの画像強制リサイズを防ぐ:EC-CUBE2.11.1

EC-CUBEで携帯サイトを制作するとき、デフォルトのままでは
画像の強制リサイズがかかってしまい
作った画像がかなり劣化して表示されてしまいます。
これを防ぐ方法として、正しいかはわかりませんが
とりあえずきれいに画像が表示されるようになったので
その方法をメモ。

/data/class/SC_MobileImage.php

// docomoとsoftbankの場合は画像ファイル一つに利用可能なサイズの上限を計算する
// auはHTMLのbyte数上限に画像ファイルサイズが含まれないのでimageFileSizeのまま。
if ($carrier == 'docomo' or $carrier == 'softbank') {
    if( $result != false && $result > 0){
        // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 - 変換後の画像名のバイト数(目安値) ) / HTML中の画像数
        $temp_imagefilesize = ($cacheSize - strlen($buffer) - (140 * $result) ) / $result;
    } else {
        // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 )
        $temp_imagefilesize = ($cacheSize - strlen($buffer) );
    }
    // 計算結果が端末の表示可能ファイルサイズ上限より小さい場合は計算結果の値を有効にする
    if ($temp_imagefilesize < $imageFileSize) {
        $imageFileSize = $temp_imagefilesize;
    }
}

// HTML中のIMGタグを変換後のファイルパスに置換する
foreach ($images[1] as $key => $path) {
    $realpath = html_entity_decode($path, ENT_QUOTES);
    $realpath = preg_replace('|^' . ROOT_URLPATH . '|', HTML_REALDIR, $realpath);
    $converted = $imageConverter->execute($realpath);
    if (isset($converted['outputImageName'])) {
        $buffer = str_replace($path, MOBILE_IMAGE_URLPATH . '/' . $converted['outputImageName'], $buffer);
    } else {
        $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer);
    }
}

という2箇所の部分をすべてコメントアウトすればOK

これでとりあえず画像は奇麗に表示されるようになりました!

コーディング・WordPress化作業を代行します

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード ソースコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 角丸 関連記事