Sylius定制运输计算器,将目的地考虑在内

时间:2017-03-03 09:08:57

标签: calculator shipping sylius

我正在尝试创建一个自定义计算器,根据删除地址计算运费。现在,我将根据邮政编码前缀硬编码不同的费用......例如。

  • SK1 = 4
  • SK2 = 4
  • SK3 = 4
  • SK4 = 4
  • M1 = 6
  • M2 = 6
  • M3 = 6
  • M4 = 6
  • 其他一切= 10

我是sylius和php的新手所以非常感谢所有帮助。我正在按照教程here

我的代码存根如下:

<?php
/**
 * Created by IntelliJ IDEA.
 * User: camerona
 * Date: 03/03/2017
 * Time: 08:09
 */

namespace AppBundle\Shipping;

use Sylius\Component\Shipping\Calculator\CalculatorInterface;
use Sylius\Component\Shipping\Model\ShippingSubjectInterface;

class PostCodeCalculator implements CalculatorInterface
{
    public function calculate(ShippingSubjectInterface $subject, array $configuration)
    {
        return $this->postCodeService->getShippingCostForPostCode($subject->getShippingAddress());
    }

    public function getType()
    {
        // TODO: Implement getType() method.
    }
}

在sylius中有没有办法可以访问订单的送货地址? ShippingSubjectInterface仅允许访问音量,重量,物品和可运送物品。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

/** @var $subject Shipment  */
$postCode = $subject->getOrder()->getShippingAddress()->getPostCode();

允许我从主题获取地址。