EC-CUBE4 送料計算をカスタマイズする
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[EC-CUBEめも]]
送料を計算するProcessorを以下の場所に作成します。~
app/Customize/Service/PurchaseFlow/Processor/DeliveryFeeP...
送料を100円に設定するには以下のような記述になります。~
ShoppingFlowアノテーションを書いておかないといけないのが...
アノテーションは @ShoppingFlow, @CartFlow, @OrderFlow が...
インターフェイスには ItemHolderPreprocessor, ItemValidato...
ドキュメントには以下の記述がありますが、不要です。
> 独自に作成した Processor を有効にするには、 app/config/...
https://doc4.ec-cube.net/customize_service
<?php
namespace Customize\Service\PurchaseFlow\Processor;
use Eccube\Annotation\ShoppingFlow;
use Eccube\Entity\ItemHolderInterface;
use Eccube\Service\PurchaseFlow\ItemHolderPreprocessor;
use Eccube\Service\PurchaseFlow\PurchaseContext;
/**
* @ShoppingFlow
*/
class DeliveryFeeProcessor implements ItemHolderPreproce...
{
/**
* @param ItemHolderInterface $itemHolder
* @param PurchaseContext $context
*/
public function process(ItemHolderInterface $itemHol...
{
$this->updateDeliveryFeeItem($itemHolder);
}
/**
* @param ItemHolderInterface $itemHolder
*/
private function updateDeliveryFeeItem(ItemHolderInt...
{
/** @var Order $Order */
$Order = $itemHolder;
/* @var Shipping $Shipping */
foreach ($Order->getShippings() as $Shipping) {
/** @var OrderItem $item */
foreach ($Shipping->getOrderItems() as $item...
if ($item->isDeliveryFee()) {
$item->setPrice(100);
$item->setQuantity(1);
}
}
}
}
}
終了行:
[[EC-CUBEめも]]
送料を計算するProcessorを以下の場所に作成します。~
app/Customize/Service/PurchaseFlow/Processor/DeliveryFeeP...
送料を100円に設定するには以下のような記述になります。~
ShoppingFlowアノテーションを書いておかないといけないのが...
アノテーションは @ShoppingFlow, @CartFlow, @OrderFlow が...
インターフェイスには ItemHolderPreprocessor, ItemValidato...
ドキュメントには以下の記述がありますが、不要です。
> 独自に作成した Processor を有効にするには、 app/config/...
https://doc4.ec-cube.net/customize_service
<?php
namespace Customize\Service\PurchaseFlow\Processor;
use Eccube\Annotation\ShoppingFlow;
use Eccube\Entity\ItemHolderInterface;
use Eccube\Service\PurchaseFlow\ItemHolderPreprocessor;
use Eccube\Service\PurchaseFlow\PurchaseContext;
/**
* @ShoppingFlow
*/
class DeliveryFeeProcessor implements ItemHolderPreproce...
{
/**
* @param ItemHolderInterface $itemHolder
* @param PurchaseContext $context
*/
public function process(ItemHolderInterface $itemHol...
{
$this->updateDeliveryFeeItem($itemHolder);
}
/**
* @param ItemHolderInterface $itemHolder
*/
private function updateDeliveryFeeItem(ItemHolderInt...
{
/** @var Order $Order */
$Order = $itemHolder;
/* @var Shipping $Shipping */
foreach ($Order->getShippings() as $Shipping) {
/** @var OrderItem $item */
foreach ($Shipping->getOrderItems() as $item...
if ($item->isDeliveryFee()) {
$item->setPrice(100);
$item->setQuantity(1);
}
}
}
}
}
ページ名: