EC-CUBE4で販売価格が変更されたときに何かする方法です。
Doctrineのイベントを使えばデータ変更の検知などいろんなことが出来ます。
サンプルコードは以下のとおりです。
<?php
namespace Customize\Doctrine\EventSubscriber;
use Doctrine\Common\EventSubscriber;
use Doctrine\ORM\Event\PreUpdateEventArgs;
use Doctrine\ORM\Events;
use Eccube\Entity\ProductClass;
class PriceSubscriber implements EventSubscriber
{
/**
* @inheritDoc
*/
public function getSubscribedEvents()
{
return [
Events::preUpdate
];
}
/**
* @param PreUpdateEventArgs $args
*/
public function postUpdate(PreUpdateEventArgs $args)
{
$entity = $args->getObject();
if ($entity instanceof ProductClass) {
// 販売価格が変更されていたら
if ($args->hasChangedField('price02')) {
// 何かする
}
}
}
}