EC-CUBE3のデバッグモードが利用できないとき

EC-CUBE3のデバッグには、index_dev.phpを利用します。
index_dev.phpに自身の接続IPアドレス(123.123.123.123)を下記のように記述し、

http://EC-CUBE3のURL/index_dev.phpでアクセスします。

$allow = array(
 '127.0.0.1',
 'fe80::1',
 '::1',
 '123.123.123.123',
);

ところが、サーバ(Xサーバーで確認)によっては、下記メッセージが表示され、動作しない場合があります。
Youare not allowed to access this file. Check index_dev.php for more information.

そこで、index_dev.phpの37行目付近を下記のように変更して対応します。

if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], $allow)
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

↓【変更】

$IP = '123.123.123.123';
if ($IP != $_SERVER["REMOTE_ADDR"]) {
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], $allow)
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'.'<br />'.$_SERVER['REMOTE_ADDR']);
}
}

(1)IPアドレスの設定
↓自身の接続IPアドレス
$IP = ‘123.123.123.123‘;

(2).'<br />’.$_SERVER[‘REMOTE_ADDR’]
これは、必ずしも必要ではありません。
これを追加しておくと、IPアドレスが設定されていない場合や正しくない場合に、下記のように現在のIPアドレスが表示されるので便利です。
————————————-
Youare not allowed to access this file. Check index_dev.php for more information.
123.123.123.123
————————————-

 

EC-CUBE3機能カスタマイズ版:Google Maps API を管理画面で入力する

GoogleMapの表示においてAPIキーが必須になったため、基本情報設定>ショップマスターの地図設定欄にAPIキーの入力ボックスを追加しました。
APIキーを入力しないと、「当サイトについて」の地図は表示されません。
また、商品詳細ページで「関連する地図」を表示している場合も、APIキーを入力しないと表示されません。

api

 

機能カスタマイズ版の3.0.15→3.0.16バージョンアップ手順

ご購入されたカスタマイズ版のファイルに対して、ご自身で編集等を行っていない場合は提供ファイルをそのまま上書きされて構いません。
ご自身で編集等を行っている場合は、EC-CUBE3:3.0.15→3.0.16バージョンアップファイルの一覧をご覧いただき、現行ファイルに修正箇所を追加してください。

バージョンアップファイルは次の通りです。

■composer.json
■composer.lock
■src/Eccube/Common/Constant.php
■src/Eccube/Controller/EntryController.php
■src/Eccube/Controller/ShoppingController.php

■vendor
現行サイトのvendorを新しいvendorと入れ換えます。
(現在のvendorを削除。新しいvendorを追加。)

下記ファイルは今回のバージョンアップ対象となっていますが、C3015D1801Aで既に修正済みです。(修正は不要)
■html/index_dev.php
■src/Eccube/Resource/template/default/Cart/index.twig

 

EC-CUBE3:3.0.15→3.0.16バージョンアップファイルの一覧

バージョンアップファイル

■composer.json
■composer.lock
■html/index_dev.php
■src/Eccube/Common/Constant.php
■src/Eccube/Controller/EntryController.php
■src/Eccube/Controller/ShoppingController.php
■src/Eccube/Resource/template/default/Cart/index.twig

■vendor
現行サイトのvendorを新しいvendorと入れ換えます。
(現在のvendorを削除。新しいvendorを追加。)

変更内容の詳細

(1)■composer.json

"jbinfo/mobile-detect-service-provider": "^1.1"

↓【変更】

"jbinfo/mobile-detect-service-provider": "^1.1",
"twig/twig": "1.34.0"

(2)■composer.lock

"content-hash": "af98124cf4b7cec648749ee9458755e0",

↓【変更】

"content-hash": "1521d13d394252d880141feb52a50f78",

(3)■html/index_dev.php

'::1',
'',

↓【変更】

'::1',

(4)■src/Eccube/Common/Constant.php

const VERSION = '3.0.15';

↓【変更】

const VERSION = '3.0.16';

(5)■src/Eccube/Controller/EntryController.php

210行目付近、$this->getSecurity($app)->setToken($token); の次に追加

$request->getSession()->migrate(true, $app['config']['cookie_lifetime']);

(6)■src/Eccube/Controller/ShoppingController.php

① use Eccube\Entity\CustomerAddress; の次に追加

use Eccube\Entity\Order;

② public function confirm( )内、「// お問い合わせ、配送時間などのフォーム項目をセット」の前に追加

// 支払方法を検証
$this->checkPaymentType($Order, $data);

③ public function confirm( ){ }の次に追加

/**
* 支払方法がOrderに保持している支払方法と一致することを確認する
*
* @param $Order Order
* @param $data array
* @throws \Eccube\Exception\ShoppingException
*/
private function checkPaymentType($Order, $data)
{
$orderPaymentId = $Order->getPayment()->getId();
$formPaymentId = $data['payment']->getId();

if (empty($orderPaymentId) || empty($formPaymentId)) {
throw new ShoppingException('front.shopping.system.error');
}
if ($orderPaymentId != $formPaymentId) {
throw new ShoppingException('front.shopping.system.error');
}
}

(7)■src/Eccube/Resource/template/default/Cart/index.twig

最後の</div>が削除されている。

(8)■vendor
現行サイトのvendorを新しいvendorと入れ換えます。
(現在のvendorを削除。新しいvendorを追加。)

EC-CUBE3:No.030_会員が退会する際に退会理由を入力する

このカスタマイズを現行サイトへ実装したい方はこちら

カスタマイズ内容

▼マイページ
・会員がマイページの「退会手続き」をクリックすると、退会理由入力ページへのリンクボタンが表示されます。
・退会理由を入力して登録すると、退会手続き画面に切り替わり、通常の手続きへ進むことが出来ます。
・退会理由が入力されていない場合は、通常の「会員退会手続きへ」ボタンは表示されないので手続きに進むことは出来ません。
▼管理画面
・「会員マスター」画面の左上「退会した会員を検索する」をクリックします。
・退会会員検索画面が開くので「検索する」ボタンをクリックします。
・退会した会員の一覧で会員名をクリックすると詳細画面が開き、そこで「退会理由」を確認することができます。
▼退会理由の登録
・退会理由はデータベースの会員情報(dtb_customer)に登録されます。
・管理画面・マイページの会員情報には通常「退会理由」は表示されませんが、「退会理由」が入力・登録されている場合は表示されます。

「退会手続き」をクリックすると、退会理由入力ページへのリンクボタンが表示される

001

続きを読む EC-CUBE3:No.030_会員が退会する際に退会理由を入力する

EC-CUBE3:デザインテンプレート適用の注意点

プラグイン等を導入した運用中のサイトに対して、デザインテンプレートを適用する際の注意点です。

デザインテンプレートの適用

(1)オーナーズストア>テンプレート>アップロード
テンプレートコード:任意(半角英数字)フォルダ名になります。
テンプレート名:任意
テンプレートファイル:拡張子.tar.gzのファイルを選択

002

 

続きを読む EC-CUBE3:デザインテンプレート適用の注意点

EC-CUBE3:マイページの会員情報変更時にメールで通知

現行サイトへ、カスタマイズの実装を希望される方はこちら

▽カスタマイズ内容

・マイページの会員情報編集で登録内容が変更されると、管理者と会員にメールで通知されます。
・変更通知の対象となるのは、下記EC-CUBEオリジナルの項目です。変更された項目のみが通知されます。
お名前、フリガナ、会社名、住所、電話番号、FAX番号、メールアドレス、生年月日、性別、職業
・パスワードについては変更されても通知されません。
フォームでの入力情報と暗号化されて登録されたデータベース情報は常に異なります。両者を比較したとき、常に変更されたものと判断され、再登録のたびに通知が送信されてしまうからです。
・会員情報が変更されずに再登録された場合は通知されません。

メールテンプレートの編集

管理画面:基本情報設定>メール設定で、新しいテンプレートが選択できるようになります。
テンプレート:会員登録内容の変更が完了しました
「ヘッダー」と「フッター」を入力して登録します。
002

続きを読む EC-CUBE3:マイページの会員情報変更時にメールで通知

EC-CUBE3機能カスタマイズ版:C3015D1707A→C3015D1801A■バージョンアップのファイル一覧と手順

・バージョンアップの前に現行ファイルをバックアップしておき、不具合が生じたときは元に戻してください。

・下記の「バージョンアップファイル一覧」をご覧いただき、ご自身でカスタマイズされているファイルがあれば、バージョンアップファイルの入れ換え後にカスタマイズ箇所を追加する必要があります。あるいは、バージョンアップファイルにカスタマイズ箇所を追加してから入れ換える方法もあります。

マイグレーションを実行して、データベースを追加します。

(1)次の3つのファイルをアップロードします。

■src/Eccube/Resource/doctrine/migration/Version20171234000000.php
■src/Eccube/Resource/doctrine/migration/Version20171234000001.php
■src/Eccube/Resource/doctrine/migration/Version20171234000002.php

続きを読む EC-CUBE3機能カスタマイズ版:C3015D1707A→C3015D1801A■バージョンアップのファイル一覧と手順

EC-CUBE3機能カスタマイズ版:C3015D1707A→C3015D1801Aバージョンアップ内容

バージョンアップすることで、現在の登録内容を変更したり、再登録したりする必要はありません。

規格に関する下記の点を変更

・規格画像の登録方法
・規格選択のレイアウトを商品ごとに設定
・項目の表示・非表示設定

↓こちらの機能が実装されます。
https://itoben.com/blog/2965.html
「規格画像+規格のプルダウン・ラジオボタン・マトリクス・規格ごとカートボタンが選択できる 」

続きを読む EC-CUBE3機能カスタマイズ版:C3015D1707A→C3015D1801Aバージョンアップ内容