Доставка Magento 2.2 нарушена из-за изменения настроек - PullRequest
0 голосов
/ 17 июня 2020

Проблема: при оформлении заказа на странице доставки покупатель получает сообщение «Извините, в настоящее время для этого заказа нет предложений»

Справочная информация: от до внести изменения, чтобы справиться с ограничениями covid, администратор магазина отключил некоторые варианты доставки (стандартная бесплатная, утро, суббота и т. д.) и изменил название и цену одного оставшегося варианта.

Уже пытались: обновление страницы и кеша конфигурации, очистка кеша.

Что дальше?

Исследование: Похоже, это стандартный стандартный метод фиксированной ставки.

Настройки мне нравятся: settings screenshot

и ничего примечательного в способах модели оператора связи:

    public function __construct(
    ScopeConfigInterface $scopeConfig,
    ErrorFactory $rateErrorFactory,
    LoggerInterface $logger,
    ResultFactory $rateResultFactory,
    MethodFactory $rateMethodFactory,
    array $data = []
) {

    $this->_rateResultFactory = $rateResultFactory;
    $this->_rateMethodFactory = $rateMethodFactory;
    parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data);
}

/**
 * Generates list of allowed carrier`s shipping methods
 * Displays on cart price rules page
 *
 * @return array
 * @api
 */

public function getAllowedMethods()
{
    return [$this->getCarrierCode() => __($this->getConfigData('name'))];
}
/**
 * Collect and get rates for storefront
 *
 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
 * @param RateRequest $request
 * @return DataObject|bool|null
 * @api
 */

public function collectRates(RateRequest $request)
{
    /**
     * Make sure that Shipping method is enabled
     */

    if (!$this->isActive()) {
        return false;
    }

    /** @var \Magento\Shipping\Model\Rate\Result $result */
    $result = $this->_rateResultFactory->create();
    $shippingPrice = $this->getConfigData('price');
    $method = $this->_rateMethodFactory->create();
    /**
     * Set carrier's method data
     */
    $method->setCarrier($this->getCarrierCode());
    $method->setCarrierTitle($this->getConfigData('title'));
    /**
     * Displayed as shipping method under Carrier
     */

    $method->setMethod($this->getCarrierCode());
    $method->setMethodTitle($this->getConfigData('name'));
    $method->setPrice($shippingPrice);
    $method->setCost($shippingPrice);
    $result->append($method);
    return $result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...