商品を登録するとき、項目がーーーー、、、ということがあると思う。
そんなときに、カスタマイズで対応する方法。
ちなみに、そんな機能のプラグインもある模様。
今回は、商品情報に「メーカー名」を追加
Entityの拡張
ファイルを追加
<?php // app/Customize/Entity/ProductTrait.php namespace Customize\Entity; use Doctrine\ORM\Mapping as ORM; use Eccube\Annotation as Eccube; /** * @Eccube\EntityExtension("Eccube\Entity\Product") */ trait ProductTrait { /** * @ORM\Column(type="string", nullable=true) * @Eccube\FormAppend( * auto_render=true, * options={ * "required": false, * "label":"メーカー" * } * ) */ public $maker_name; }
Proxyクラスを生成
コマンドラインでProxyクラスを生成
$ bin/console eccube:generate:proxies
app/proxy/entity/Product.php
が作成される。
データベースに反映
コマンドラインで定義をデータベースに反映する
## 念の為キャッシュをクリア $ bin/console cache:clear --no-warmup ## 実行する SQL を確認 $ bin/console doctrine:schema:update --dump-sql ## SQL を実行 $ bin/console doctrine:schema:update --dump-sql --force
これだけで項目が追加できる。
かんたん。
コメントを残す