【EC-CUBE4】会員登録完了時にポイントを付与する方法
EC-CUBE4で会員登録完了時にポイントを付与する方法です。
サンプルコードは以下のとおりです。
会員登録完了時に1000ポイント付与しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?php namespace Customize\EventSubscriber; use Doctrine\ORM\EntityManagerInterface; use Eccube\Entity\Customer; use Eccube\Event\EventArgs; use Symfony\Component\EventDispatcher\EventSubscriberInterface; class EntryPointSubscriber implements EventSubscriberInterface { /** * @var EntityManagerInterface */ private $entityManager; public function __construct(EntityManagerInterface $entityManager) { $this->entityManager = $entityManager; } public function onFrontEntryActivateComplete(EventArgs $event) { $Customer = $event->getArgument("Customer"); if($Customer instanceof Customer) { // 会員登録完了時に1000ポイント付与 $Customer->setPoint(1000); $this->entityManager->persist($Customer); $this->entityManager->flush(); } } public static function getSubscribedEvents() { return [ 'front.entry.activate.complete' => 'onFrontEntryActivateComplete', ]; } } |
“【EC-CUBE4】会員登録完了時にポイントを付与する方法” に対して3件のコメントがあります。
コメントを投稿するにはログインが必要です。
はじめまして!
普段はワードプレスphpコーディング制作がメインのEC-CUBE初心者です。
現在EC-CUBE4(4.0.3)を使用中なのですが、こちらのコードはどこに書き込めばいいのでしょうか…。
お手数ですがご教示お願いしたく思います。
app/Customize/EventSubscriberディレクトリ内にEntryPointSubscriber.phpというファイル名で設置してください。
実装できました!
感動です!!!
素敵なコード大変助かりました。本当にありがとうございました!!m(_ _)m