質問 > その他 > データベースの直接変更について |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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 もし、そうなのであれば、独自プラグインを作ってインストールすれば カラムの追加や挙動の変更は可能かと思います。 ただ、プラグインはフックポイントを利用する仕組みの為、 どんなカスタマイズでも実現できるとは限りませんので 実現の可否は仕様次第という事になるかと思います。
|
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 を編集する必要がありそうです。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |