0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC-CUBEプラグインでprocessor機能を追加・上書きする

Posted at

processor機能を追加する

root/app/Plugin\Hoge\Service\PurchaseFlow\Processor/HogeProcessor.php
<?php

namespace Plugin\Hoge\Service\PurchaseFlow\Processor;

↓アノテーションでフローに追加する
/**
 * カートフローでプロセッサを有効にする
 * 
 * @CartFlow
 */

 /**
 * 購入フローでプロセッサを有効にする
 * 
 * @ShoppingFlow
 */

 /**
 * 管理画面でプロセッサを有効にする
 * 
 * @OrderFlow
 */

  private function {
  
  }

複数指定も可能

processor機能を上書きする

root/app/Plugin\Hoge\Service\PurchaseFlow\Processor/HogeProcessor.php
<?php

namespace Plugin\Hoge\Service\PurchaseFlow\Processor;

↓アノテーションでフローに追加する
/**
 * カートフローでプロセッサを有効にする
 * 
 * @CartFlow
 */

 /**
 * 購入フローでプロセッサを有効にする
 * 
 * @ShoppingFlow
 */

 /**
 * 管理画面でプロセッサを有効にする
 * 
 * @OrderFlow
 */

ここまでは上と同じ

↓デフォルトのプロセッサも動作してしまい値が重複する場合、デフォルト数値をマイナスする

  private function {
  
    $DeliveryFee = $this->deliveryFeeRepository->findOneBy([
    'Delivery' => $Shipping->getDelivery(),
    'Pref' => $Shipping->getPref(),
]);
$fee = is_object($DeliveryFee) ? $DeliveryFee->getFee() : 0

->setPrice($fee + $deliveryFeeProduct)
  
  }

  private function {
  
    $DeliveryFee = $this->deliveryFeeRepository->findOneBy([
        'Delivery' => $Shipping->getDelivery(),
        'Pref' => $Shipping->getPref(),
    ]);
    $fee = is_object($DeliveryFee) ? $DeliveryFee->getFee() : 0

/* デフォルトプロセッサの送料をマイナスする */
    $DefaultDeliveryFee = $this->deliveryFeeRepository->findOneBy([
        'Delivery' => $Shipping->getDelivery(),
        'Pref' => $Shipping->getPref(),
    ]);
    $defaultFee = is_object($DefaultDeliveryFee) ? $DefaultDeliveryFee->getFee() : 0;

->setPrice($fee + $deliveryFeeProduct - $defaultFee)
  
  }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?