2017-03-03 47 views
0

我正在尝试创建一个自定义计算器,它可以根据删除地址计算运费。现在,我将根据邮编前缀硬编码不同费用。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只允许访问数量,重量,物品和可装运物品。

预先感谢您。

回答

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

允许我从主题获取地址。

相关问题