EC-CUBE 3 リファクタガイドラインにそって、管理画面>ポイント管理を作ってみるまでのメモ。
環境設定
- 利用ツール
- Xampp
- PHP5.4
- MySQL
- NetBeans
- Xampp
Xamppでも一応できる
insaller.shが動かせないので、いろいろ頑張る(あとでかく:構築手順)
ポイント管理
ぷるりく
修正ファイル一覧(不要なのはのぞく、以下5ファイル修正必要)
src/Eccube/Controller/Admin/Basis/PointController.php
src/Eccube/ControllerProvider/AdminControllerProvider.php
src/Eccube/Form/Type/PointType.php
src/Eccube/View/Admin/Basis/point.twig
src/Eccube/ServiceProvider/EccubeServiceProvider.php
完成までの流れ
以下の順番でやるとイメージつきやすい
- ルーティングを修正する
- コントローラを作成する
- テンプレートを作成する
いったんここで画面表示して表示されるまで修正
- フォーム作成
- src/Eccube/Form/Type/PointType.php
- ディレクトリ分ける?パーツ化した方がよい?とか色々考えるけどいったんType以下にフラットで配置でよい
- コンテナに必要なもの追加、修正
- src/Eccube/ServiceProvider/EccubeServiceProvider.php
- 作成したFormTypeは、ServiceProviderに追加しないとだめ
- BaseInfoレポジトリを追加しておくと楽
FormTypeに定義するバリデータなどはSymphonyのドキュメントを参照しながら置き換えていく
http://docs.symfony.gr.jp/symfony2/reference/forms/types.html
http://docs.symfony.gr.jp/symfony2/reference/constraints.html
submit時にFormValidatorでNoticeがでたら、、、
Notice: Trying to get property of non-object in /var/www/Myblog/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php line 84
submitした時に、上記のようなNoticeがでるときがある
カッコの位置が間違ってるのでなおす
http://stackoverflow.com/questions/19299898/symfony2-form-trying-to-get-property-of-non-object-in
つづき
ユニットテストに続く