EC-CUBE3 通常配達・店頭引取システム

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

  • 「通常配達」「店頭引取」のどちらかの機能のみを有効にすることも可能です。
  • 通常配達と店頭引取の機能を無効にすると、通常のEC-CUBEとして動作します。
  • 配達可能なエリアは郵便番号で登録します。
  • 機能が有効の場合、ユーザーはエリア外のお届け先を登録することはできません。
  • 配達日・引取日はカレンダーで選択します。受注停止日は選択できないようになります。
  • 受注停止日、受注開始日、受注停止時刻、カレンダーで選択できる表示期間などは管理画面で設定します。
  • 管理画面(受注管理)で、「通常配達」「店頭引取」を条件にして絞り込み検索ができます。
  • 受注CSV ダウンロード・配送CSV ダウンロードに追加されます。
  • 管理画面から受注登録が可能です。
  • 管理画面:マスターデータ管理で、「配達時間」「引取時間」を設定します。
  • ユーザーへのお知らせ手段として、ブロックとページが作成されます。ブロックとページには、管理画面の設定が自動的に反映されるので、特にtplファイルを編集する必要はありません。
  • 複数配送機能は無効にしなければいけません。

マニュアル(PDF)もご覧いただけます。

1 通常配達:ユーザーの購入の流れ

001

ショッピングカート画面で、配達で注文をクリックします。
ログイン中であれば、「ご注文内容のご確認」画面へ移動します。
ログイン中でなければ、ログイン画面が表示されます。

続きを読む EC-CUBE3 通常配達・店頭引取システム

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■バージョンアップのファイル一覧と手順