バージョン選択

フォーラム

メニュー

オンライン状況

41 人のユーザが現在オンラインです。 (26 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 41
もっと...

サイト内検索

質問 > その他 > データベースの直接変更について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dizzy
投稿日時: 2021/10/20 1:22
対応状況: 確認中
新米
登録日: 2021/10/20
居住地:
投稿: 2
データベースの直接変更について
EC-CUBEを使用した、ショッピングシステムを構築しています。

システムの会員情報を扱う上で、データベースの会員情報関連テーブルのある値(独自に追加したステータス)を変更したいです。

EC-CUBEとDBの安全性を維持しつつ、phpmyadminで手動での値変更はせず、かつプログラムをカスタマイズする方法以外に変更する方法はあるものでしょうか?(例えば何らかのプラグインなどなど)。

変更したいテーブル
テーブル名dtb_customer

すみません、見当違いの質問をしている可能性もあります。その際はご指摘下さいませ。

▼テンプレート
[EC-CUBE] 4.0.5 アップデート
[レンタルサーバ] さくら
[OS] windows10
[PHP] 4.0.5
[データベース] MySQL 5.7.33
[WEBサーバ] Apache
[ブラウザ] chrome最新
468
投稿日時: 2021/10/20 18:55
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: データベースの直接変更について
ECCUBEで用意されている拡張機能(/Customizeディレクトリを利用)によるカスタマイズもNGという事でしょうか?

https://doc4.ec-cube.net/customize_controller

もし、そうなのであれば、独自プラグインを作ってインストールすれば
カラムの追加や挙動の変更は可能かと思います。

ただ、プラグインはフックポイントを利用する仕組みの為、
どんなカスタマイズでも実現できるとは限りませんので
実現の可否は仕様次第という事になるかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

dizzy
投稿日時: 2021/10/21 2:19
対応状況: −−−
新米
登録日: 2021/10/20
居住地:
投稿: 2
Re: データベースの直接変更について
ご回答いただき誠にありがとうございます。

Customizeディレクトリを利用する場合で、下記の実現方法を調査したいと思います。どこか関連ページ等はご存じでしょか。

1.新たに管理人しか入れないページを作る。
2.そこには会員IDのテキストボックスと、有効ボタンがある。
3.そこで、会員IDのテキストボックスに会員IDを入力し、有効ボタンを押すと、テーブル名dtb_customerの、カラムA(仮)が、ACTIVEという文字に更新される。

こらちで調べて出たのは「/src/Eccube/Repository」を利用するでした。

468
投稿日時: 2021/10/21 10:36
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: データベースの直接変更について
>1.新たに管理人しか入れないページを作る。

Controllerのカスタマイズ
https://doc4.ec-cube.net/customize_controller

上記を参考に新しいルーティングを追加すれば良いかと思います。
@Route アノテーションの記述方法は管理画面のコントローラークラスが参考になるかと思います。

>2.そこには会員IDのテキストボックスと、有効ボタンがある。
>3.そこで、会員IDのテキストボックスに会員IDを入力し、有効ボタンを押すと、テーブル名dtb_customerの、カラムA(仮)が、ACTIVEという文字に更新される。

テーブルに新しいカラムを追加するのは以下のページが参考になるかと思います。

Entityのカスタマイズ
https://doc4.ec-cube.net/customize_entity

入力項目については
新しくFormTypeクラスを配置すればよいかと思います。
公式ドキュメントのFormTypeカスタマイズが既存のFormTypeに項目を追加するパターンしか紹介されていない為、
今回の要件では使えないかと思います。

実際に試していないので何とも言えませんが
/app/Customize/Form/Type/以下に新しくAbstractTypeを継承したクラスを配置すれば
コントローラーから他のFormTypeクラスと同じように利用できるようになるのではないかと思います。

更新処理は1.で追加したコントローラーに記述すれば更新できるかと思います。

新しく追加したページへのリンクを管理画面のサイドメニューに追加する必要がある場合は
/app/config/eccube/packages/eccube_nav.yaml
を編集する必要がありそうです。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,682名です
総投稿数は109,930件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.