Bambooo!


CPIサーバーにEC-CUBE2系をインストールした際の備忘録2

◎トップページのおすすめ商品リストが正常に表示されない不具合を解消。

価格をSmarty変数にアサインしているところを変更してあげる必要があります。

<!–{assign var=price01 value=`$arrBestProducts[cnt].price01_min`}–>
<!–{assign var=price02 value=`$arrBestProducts[cnt].price02_min`}–>

上記のようになっているところ2箇所を[cnt]→[$cnt2]修正。

<!–{assign var=price01 value=`$arrBestProducts[$cnt2].price01_min`}–>
<!–{assign var=price02 value=`$arrBestProducts[$cnt2].price02_min`}–>

◎商品詳細ページのおすすめ商品が登録できない不具合を解消。

1.mtb_constantsテーブルに下記内容を手動でレコード追加。

▼追加したレコード内容

フィールド名 : 値
id : RECOMMEND_PRODUCT_MAX
name : 6
rank : 523
remarks : 関連商品の数

2.管理画面にログインし、基本情報管理-パラメータ設定にて
RECOMMEND_PRODUCT_MAXが追加されているのを確認。
(一番したの行に追加されています)

そのまま、”この内容で登録する”をクリック。

3.管理画面を一度ログアウト。

4.再度管理画面ログイン後、商品管理にて動作チェック。

◎新規ページをEC-CUBE側で作成した場合に表示されない不具合

公式ガイドブックではhtml/user_dataのパーミッションが777指定でしたがそれを755に変更。

加えて、例えば新規に「test」というページを作成した場合PHPのファイル名がtest.phpだったとします。通常はhttp://ドメイン名/user_data/test.phpというアドレスになります。それをhttp://ドメイン名/test.phpにしたい場合は .htaccess の mod_rewrite 機能を使います。

htmlディレクトリ直下にある.htaccessに以下を追記します。

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9]+).php user_data/$1.php [L]
</IfModule>

◎モバイル用のアドレスにアクセスするとInternal Server Errorが・・・。

インストールすると、html/mobileに以下のような.htaccessが生成されます。

php_flag mbstring.encoding_translation 0
php_value output_handler null
php_value variables_order EGPS
php_flag session.auto_start 0
php_flag session.use_trans_sid 1

しかしCPIでは .htaccessファイルにてphp_valueおよびphp_flag は利用できないとのこと。
まずは削除してしまいましょう。

そしてhtml/php.iniに直接書きます。
末尾に以下スクリプトを挿入。

magic_quotes_gpc = Off;
mbstring.encoding_translation = 0;
output_handler = null;
session.auto_start = 0;
session.use_trans_sid = 1;

ちなみにこれを記述しないと文字化けします・・・。

◎ショップ側にオーダーメールが送られてこない不具合

私には知識が無くよくわからないですが、開発コニュニティサイトでも取り上げられていました。
対策方法がいくつかあるそうです。 私はdata/class/helper/SC_Helper_Mail.php内での修正を採用してみました。
153行目付近

if ($objSendMail->sendMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
}

if ($objSendMail->sendMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
$objSendMail->setItem(”, $tosubject, “【お客様へのメールのコピーです】\r\n\r\n”.$body, $from, $arrInfo[‘shop_name’], $from, $error, $error);
$objSendMail->setTo($bcc);
$objSendMail->sendMail();
}

◎EC-CUBEでのSSL設定(独自ドメイン)

インストール時に入力を求められる「URL(セキュア)※」の項目欄にSSL用のURL(https://独自ドメイン名)を登録すれば
自動的にカートなどのSSLが必要と思われるページのみSSLでアクセスするようになります。
(設定されていないページがあった場合は手動でソースコードを修正しなければなりません)

また、すでにインストール済みの場合は/data/install.incの5行目付近

define (‘SSL_URL’, ‘https://独自ドメイン名/’);

の値を修正すれば設定可能です。

注)上記の作業は自己責任にてお願いします:)

2008/02/27 Posted in 仕事関係 by AT (この記事は投稿から18年が経過しています)

3 Responses to 'CPIサーバーにEC-CUBE2系をインストールした際の備忘録2'

Subscribe to comments with RSS or TrackBack to 'CPIサーバーにEC-CUBE2系をインストールした際の備忘録2'.

  1. 質問です said,

    on 3月 3rd, 2008 at 14:02:58

    ◎EC-CUBEでのSSL設定(独自ドメイン)
    で、ファイルは全部Secureフォルダに入っているのですか?
    通常 http://
    SSL https://
    で設定してアクセスが出来なくなりますけど
    どうやっているか教えてください。

  2. AT said,

    on 3月 3rd, 2008 at 15:35:31

    私自身、現在テストサーバーにて検証している為実際にSSL環境にてテストしておりませんがCPIのマニュアルではSecureフォルダにコンテンツを格納と書かれていますね。ただ、SSL非対応でもdataフォルダをhtmlフォルダに格納した所、うまく動かなかったのでdataフォルダはルートディレクトリ直下に置かなくてはいけないかもしれません。これでSSL対応できるのか疑問ではありますが・・・。逆に上手くいきましたらお知らせいただけると光栄です!今後のバージョンアップで共有SSLを使用する一部のレンタルサーバに対応予定となっている様なのでこちらも仕様が楽しみです。

  3. 質問です said,

    on 3月 3rd, 2008 at 16:45:50

    今現在は
    ルートにstoreディレクトリを設置してその中にhtml内のファイルを設置
    secureにdataフォルダを設置してdefine.phpで相対パス指定
    これでhttp://での動作は問題ありませんが、https://に動作が
    できません。
    secureに全部入れてdata内だけhttpsで処理すればいいのかな

Leave a Reply

CAPTCHA