EC-CUBE3の管理画面入力の制御を行う
EC-CUBE3を触っていて、2系と大きく違う所はsymphony2を使っており、クラス→テンプレート
って言う書き方から大きく変更されていました。
ちょっと気になった所として
管理画面>会員管理>会員マスター
の会員検索の詳細を開いた際に表示されている
・購入金額
・購入回数
この辺は手入力も可能なのですが、type=numberが使われている事もあり、左右の数値上下ボタンをクリックするとそのままマイナスの数値が表示されてしまいます。
もともと、購入回数や購入金額が0以下と言う事も普通だと考え辛い事もあり、修正。<修正箇所>
/src/Eccube/Form/Type/Admin/SearchCustomerType.php
[変更前ソース]
->add('buy_times_start', 'integer', array( 'label' => '購入回数', 'required' => false, 'constraints' => array( new Assert\Length(array('max' => $config['int_len'])), ), ))
[変更]
購入回数をクリックした際に1回のクリックで10ずつカウントアップ+最低値が0以下にならないようにする
->add('buy_times_start', 'integer', array( 'label' => '購入回数', 'required' => false, 'attr' => array('step' => 10,'min' => 0,), //変更部分 'constraints' => array( new Assert\Length(array('max' => $config['int_len'])), ), ))
attrの追加要素に関して
step: カウント数をクリックした際の刻み値を変更する。例だと10刻み
min: 最低値の設定、0以下にカウントダウン出来ないようにする。
素のHTMLコーディングではなく、要素を部品に組み込む形に変わったので最初はどこに何があるかと言う把握がし辛いのでまずリハビリとして部品修正。