EC-CUBEの注文番号をカスタマイズする方法
EC-CUBE 4では、注文番号のフォーマットを自由にカスタマイズできます。デフォルトでは注文ID(連番)がそのまま表示されますが、日付や桁数を指定した独自の注文番号を設定できます。
設定ファイルの場所
app/config/eccube/packages/eccube.yamlにあるeccube_order_no_formatの設定を変更します。
app/Customize/Resource/config/services.yamlで上書きすることも可能です。
eccube_order_no_format: ''
利用可能なフォーマット
{yyyy}– 西暦4桁(例: 2026){yy}– 西暦2桁(例: 26){mm}– 月2桁(例: 01){dd}– 日2桁(例: 27){id,桁数}– 注文IDを指定桁数で0埋め(例: {id,6} → 000001){random,桁数}– ランダムな数値(例: {random,4} → 7382){random_alnum,桁数}– ランダムな半角英数大文字(例: {random_alnum,6} → A3K7M9){random_alpha,桁数}– ランダムな半角英字大文字(例: {random_alpha,4} → ABKZ)
カスタマイズ例
1. 日付 + 連番(6桁0埋め)
eccube_order_no_format: '{yyyy}{mm}{dd}-{id,6}'
# 結果: 20260127-000001
2. 年月 + ランダム英数字
eccube_order_no_format: '{yy}{mm}-{random_alnum,8}'
# 結果: 2601-A3K7M9X2
3. シンプルな連番のみ(8桁)
eccube_order_no_format: 'ORD-{id,8}'
# 結果: ORD-00000001
4. 日付とランダム数値の組み合わせ
eccube_order_no_format: '{yyyy}{mm}{dd}{random,4}'
# 結果: 202601277382
設定反映方法
設定変更後は、キャッシュをクリアする必要があります。
# コマンドラインの場合
php bin/console cache:clear
# 管理画面の場合
コンテンツ管理 > キャッシュ管理 > キャッシュ削除
注意点
- フォーマットを空(
'')にすると、デフォルトの注文ID(連番)が使用されます - ランダム系のフォーマットを使う場合、重複の可能性を考慮してください
- 既存の注文番号は変更されません(新規注文から適用されます)
- 桁数を指定した場合、IDが桁数を超えるとそのまま全桁表示されます
おすすめの設定
BtoC向けには日付+連番、BtoB向けには年月+ランダム英数字が管理しやすくおすすめです。ランダム要素を含めることで、顧客に注文数を推測されにくくなるメリットもあります。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。
EC-CUBEゴールドパートナー