2017-02-21 14 views
0

私は最近、日付ピッカーモジュールと組み合わせたカスタム出荷モジュールを持っており、出荷オプションはチェックアウトページに表示されません。​​3210ファイルを修正して、2つのモジュールの両方の構成を組み合わせるようにしました。そのため、それが競合の原因になっているのだろうかと思います。 datepickerは完璧に動作しますが、カスタム出荷オプションのロードがコンソールに表示されません。Magento 2:私のカスタム配送が見えないのはなぜですか?

設定:

<?xml version="1.0"?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd"> 
<default> 
    <carriers> 
    <icacustomshipping> 
     <showmethod>1</showmethod> 
     <active>1</active> 
     <sallowspecific>0</sallowspecific> 
     <price>18</price> 
     <model>SR\DeliveryDate\Model\Carrier\Customshipping</model> 
     <name>Fixed</name> 
     <title>ICA</title> 
     <origin_address></origin_address> 
     <origin_suburb></origin_suburb> 
     <authentication></authentication> 
     <id></id> 
     <specificerrmsg>Error.</specificerrmsg> 
    </icacustomshipping> 
    </carriers> 
</default> 
<default> 
    <sr_deliverydate> 
     <general> 
     <format>yy-mm-dd</format> 
     <disabled>-1</disabled> 
     <hourMin>8</hourMin> 
     <hourMax>22</hourMax> 
    </general> 
    </sr_deliverydate> 
</default> 
</config> 

送料モデル

<?php 

namespace SR\DeliveryDate\Model\Carrier; 

use Magento\Quote\Model\Quote\Address\RateRequest; 
use Magento\Shipping\Model\Rate\Result; 

class Customshipping extends \Magento\Shipping\Model\Carrier\AbstractCarrier implements 
\Magento\Shipping\Model\Carrier\CarrierInterface 
{ 

    /** 
    * @var string 
    */ 
    protected $_code = 'icacustomshipping'; 

    /** 
    * @var bool 
    */ 
    protected $_isFixed = true; 

    /** 
    * @var \Magento\Shipping\Model\Rate\ResultFactory 
    */ 
    protected $_rateResultFactory; 

    /** 
    * @var \Magento\Quote\Model\Quote\Address\RateResult\MethodFactory 
    */ 
    protected $_rateMethodFactory; 

    /** 
    * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig 
    * @param \Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory $rateErrorFactory 
    * @param \Psr\Log\LoggerInterface $logger 
    * @param \Magento\Shipping\Model\Rate\ResultFactory $rateResultFactory 
    * @param \Magento\Quote\Model\Quote\Address\RateResult\MethodFactory $rateMethodFactory 
    * @param array $data 
    */ 
    public function __construct(
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory $rateErrorFactory, \Psr\Log\LoggerInterface $logger, \Magento\Shipping\Model\Rate\ResultFactory $rateResultFactory, \Magento\Quote\Model\Quote\Address\RateResult\MethodFactory $rateMethodFactory, array $data = [] 
    ) 
    { 
     $this->_rateResultFactory = $rateResultFactory; 
     $this->_rateMethodFactory = $rateMethodFactory; 
     parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data); 
    } 

    /** 
    * @param RateRequest $request 
    * @return Result|bool 
    * @SuppressWarnings(PHPMD.CyclomaticComplexity) 
    * @SuppressWarnings(PHPMD.NPathComplexity) 
    */ 
    public function collectRates(RateRequest $request) 
    { 
     if (!$this->getConfigFlag('active')) { 
      return false; 
     } 

     /** @var \Magento\Shipping\Model\Rate\Result $result */ 
     $result = $this->_rateResultFactory->create(); 

     /** @var \Magento\Quote\Model\Quote\Address\RateResult\Method $method */ 
     $method = $this->_rateMethodFactory->create(); 

     $method->setCarrier('example'); 
     $method->setCarrierTitle('TEST'); 

     $method->setMethod('example'); 
     $method->setMethodTitle('TEST'); 

     /*you can fetch shipping price from different sources over some APIs, we used price from config.xml - xml node price*/ 
     $amount = 18; 

     $method->setPrice($amount); 
     $method->setCost($amount); 

     $result->append($method); 

     return $result; 

    } 

    /** 
    * @return array 
    */ 
    public function getAllowedMethods() 
    { 
     return [$this->getCarrierCode() => __($this->getConfigData('name'))]; 
    } 

} 

答えて

0

ので、問題は簡単な構文間違いでした。私は$method->setCarrier('example');を持っていましたが、キャリアコードは私の配送コードに設定する必要がありましたprotected $_code = 'icacustomshipping';

関連する問題