今回はEC-CUBE3で既存項目に対して、属性を変更する方法を紹介します(EC-CUBE本体変更版)。例えば、商品の商品コードを必須化などは、基幹システムとの連携を考慮すると要望があがりやすいですね。
という事で、商品コードを必須項目とする方法です。
方法はプラグインを使用する方法とEC-CUBE本体のソースを変更する2通りがあります。プラグインで対応する方法は、EC-CUBE本体を変更しないため、EC-CUBE自体のバージョンに強いですが、作成・変更するファイルが増えます。一方、EC-CUBE本体のソースを変更する方法は、修正箇所は少ないですが、EC-CUBEのバージョンアップ時に、修正箇所が影響するかを考慮してバージョンアップを行う必要があります。状況に併せて対応方法を選択してください。
※本記事はEC-CUBE3.0.16をベースに記載しております。
本記事では、修正箇所が少ないEC-CUBE本体のソースを変更する方法を紹介します。
EC-CUBE本体のソースを変更する方法
修正するプログラム:src/Eccube/Form/Type/Admin/ProductClassType
$builder ->add('code', 'text', array( 'label' => '商品コード', 'required' => false, ))
を
$builder ->add('code', 'text', array( 'label' => '商品コード', 'constraints' => array( new Assert\NotBlank(), ), ))
に変更するだけです。
src/Eccube/Form/Type/Adminフォルダに管理サイトで使用している各画面の項目を定義しているプログラムが配置されています。これらのプログラムを修正することで項目属性を直接変更することが可能です。
コメント