質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

2回答

2679閲覧

EC-CUBE3をBtoBのクローズドにして、新規会員登録を管理者の承認形式に変更する

waat

総合スコア7

Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Twig

Twig は、簡潔で可読性の高いテンプレートを記述することができ、 シンプルに記述することを目的として作られた PHPテンプレートエンジンです。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2018/12/13 03:04

編集2018/12/13 03:31

現在の状況

現在EC-CUBE3にてBtoBのショッピングサイトを制作しております。
その際、一般の人には登録させたくないので、
src > Eccube > Application.php 570行目の

php

1$this['security.access_rules'] = array( 2```に 3```php 4array('^/entry', 'IS_AUTHENTICATED_ANONYMOUSLY', $channel), //会員登録ページ許可 5array('^/', 'ROLE_USER', $channel), // その他ページ拒否 6```等を追加して、クローズドサイトとしております。 7上記を施すことでログインをしなければトップページを閲覧できない状態にしておりますが、新規登録さえすれば誰でも閲覧できてしまう状況です。 8### 理想の状況 9最終的に、 101.企業様:新規会員登録をする 112.企業様:仮登録完了のメールが届く 123.管理者:企業様が仮登録されたという通知メールが届く 134.管理者:承認する 145.企業様:本登録完了のメールが届く 15という流れにしたいです。 162は仮登録完了メールに記載している「本登録のURL」を削除して「ご登録内容の確認を行いますので」と案内のみとしておりますが、345に関してはどの部分のプログラムを変更すればいいのかわからない状態です。 17 18EC-CUBE自体の開発経験が薄い為、なるべくご丁寧に解説をして下さると大変助かります。 19何卒よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xenbeat

2018/12/13 03:17

2までできているのであれば「3.管理者:企業様が仮登録されたという通知メールが届く」をとりあえず実装してみましょう。 Teratailで回答を得たいのであれば、そこで躓いたことに対して質問されることをおすすめします。
waat

2018/12/13 03:26

すみません、teratailもあまり使用したことがない為、不適切な質問となってしまいました。 2を実装し、質問内容を更新させていただきます。 ご指摘ありがとうございました。
guest

回答2

0

ベストアンサー

どこを変更
⇒ EC キューブの本体はいじってはいけません。脆弱性対応が宛てれなくなります。

どう変更

  1. 管理者にメール

(フロント)ユーザー登録完了時のフックポイントで管理者にメールを送信してください。

  1. 管理者によるユーザー有効化

仮登録完了メール~とあるので普通に修正不要です。
ユーザー管理画面にフラグがあるかと

  1. ユーザー登録通知

(管理画面)ユーザー更新完了時のフックポイントでユーザーにメールを送信してください。

よほどのことが無い限り、データ更新前後で2箇所以上フックポイントがあります。

投稿2018/12/13 03:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

waat

2018/12/13 05:33

確かに脆弱性のことを考えると、本体部分をいじってはいけないですね…。 そこまで意識を向けられませんでした。 ご回答ありがとうございました!
guest

0

Eccube/Controller/EntryController.php の index で、仮登録〜メール送信の処理をしているので、メール送信部分の修正が必要と思います。

ソースコードを眺めただけなので、アイデアレベルですが...

2.企業様:仮登録完了のメールが届く

ソースコードから判断すると Mail/entry_confirm.html.twigMail/entry_confirm.twig が、仮登録メールのテンプレートと思いますので、{{activation_code}} の部分を除いたテンプレートにして、メールを送信するようにする。

3.管理者:企業様が仮登録されたという通知メールが届く

アクティベーションURL付きのメールのテンプレートを Mail/entry_user_activation_admin.twig のような感じで、用意して、管理人に送信するプログラムを追加する。

という感じで、 2は、テンプレートを変更。3は、テンプレート追加とメール送信処理を追加で、変更すれば、4、5は、そのままプログラムの変更なしで運用だけでいけるかもしれないですね。


探してみたら、会員登録承認制プラグイン for EC-CUBE3 って ありますけどね...

投稿2018/12/13 03:53

編集2018/12/13 03:56
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

waat

2018/12/13 05:35

詳しいご説明ありがとうございます! 「会員登録承認制プラグイン for EC-CUBE3」というプラグインはあるのですが、自分で作るとどうやるんだろう…と質問をさせていただきました。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問