バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 【4系】OrderStatus(Entity)へ定数を追加する最良の方法

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
VKZ1286
投稿日時: 2022/2/2 3:46
対応状況: 確認中
常連
登録日: 2022/2/2
居住地:
投稿: 31
【4系】OrderStatus(Entity)へ定数を追加する最良の方法
[EC-CUBE] 4.1.1

下記サイトを参考に新たに受注ステータスを追加したいと考えております。
https://leveliving.com/tec/php/ec-cube/add-order-status/

DBにデータを追加し、src/Eccube/Entity/Master/OrderStatus.phpに定数を追加しようと思いましたが、
EC CUBE4ではsrc以下のファイルに直接手を加えることは推奨されていないようでしたので別の方法を探しています。

試しにapp/Customize/下に/Entity/Master/OrderStatus.phpをコピーし、定数(const WAIT_PAYMENT = 2;)を追加してみましたが反映はされませんでした。

CustomizeディレクトリにコピーしたPHPファイルを動作させるには、何か他にコードの修正が必要な箇所があるのでしょうか?

また、src下のファイルを弄らずにOrderStatus.phpに手を加える良い方法があれば教えて下さい。
宜しくお願い致します。
umebius
投稿日時: 2022/2/8 9:33
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 【4系】OrderStatus(Entity)へ定数を追加する最良の方法
4.1.1 であれば、OrderStatus を対象とするtraitをつくって、その中で定数を定義すれば良いかなと思います。

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


----------------
EC-CUBEカスタマイズ ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富
各社EMV3-Dセキュア実装

VKZ1286
投稿日時: 2022/2/15 2:38
対応状況: −−−
常連
登録日: 2022/2/2
居住地:
投稿: 31
Re: 【4系】OrderStatus(Entity)へ定数を追加する最良の方法
ありがとうございます。

開発者向けドキュメントサイトを参考に/app/Customize/Entity/に「OrderStatusTrait.php」を作成、
bin/console eccube:generate:proxiesでプロキシ作成をしようとしたところ下記のエラーが表示されました。

Traits cannot have constants in /home/xxxx/xxxx/public_html/app/Customize/Entity/OrderStatusTrait.php on line 14

OrderStatusTrait.phpの中身
<?php

namespace Customize\Entity;

use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation\EntityExtension;

/**
 * @EntityExtension("Eccube\Entity\Master\OrderStatus")
 */
trait OrderStatusTrait
{    
        /** 新規受付. */
        const NEW = 1;
        /** 注文取消し. */
        const CANCEL = 3;
        /** 対応中. */
        const IN_PROGRESS = 4;
        /** 発送済み. */
        const DELIVERED = 5;
        /** 入金済み. */
        const PAID = 6;
        /** 決済処理中. */
        const PENDING = 7;
        /** 購入処理中. */
        const PROCESSING = 8;
        /** 返品 */
        const RETURNED = 9;
        /** テスト */
        const TEST = 100;

}



Traitファイルの記述に問題があるとは思うのですが、
PHPの知識が乏しく具体的に何が間違っているの見当もつきません。

もしおわかりでしたら教えていただけないでしょうか。
宜しくお願い致します。
balisys
投稿日時: 2024/12/23 20:26
対応状況: −−−
仙人
登録日: 2020/7/5
居住地:
投稿: 502
Re: 【4系】OrderStatus(Entity)へ定数を追加する最良の方法
引用:
Traits cannot have constants


traitの中で定数持てないよとエラーがでているので、
OrderStatusを継承するクラスを作成して定数を追加する形で実装するのがよいかなと思います。
yuh
投稿日時: 2024/12/26 16:42
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1897
Re: 【4系】OrderStatus(Entity)へ定数を追加する最良の方法
traitの中で定数もてないので、例外としてsrcのentityに追加して対応したりしてます。
アップデート時にはその部分は対応必要になりますが。


----------------


http://ec-lab.net/

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


 



ログイン


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

統計情報

総メンバー数は97,796名です
総投稿数は111,961件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2325
5
umebius
2085
6
h_tanaka
1901
7
yuh
1897
8
mcontact
1579
9
red
1574
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

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

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