商品を登録するとき、項目がーーーー、、、ということがあると思う。
そんなときに、カスタマイズで対応する方法。
ちなみに、そんな機能のプラグインもある模様。
今回は、商品情報に「メーカー名」を追加
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
これだけで項目が追加できる。
かんたん。


コメントを残す