Получить методы доставки на основе продукта в magento 2 - PullRequest
0 голосов
/ 25 октября 2018

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

В настоящее время я пытался использовать Address::requestShippingRates и collectShippingRates, но для этих методов требуется действительныйцитата, и кажется немного сложным создать новую цитату только для того, чтобы перечислить доступные способы доставки.

Есть ли лучший способ добиться этого?

1 Ответ

0 голосов
/ 25 октября 2018

Теперь я придумала это решение, создав собственный запрос о ставке только с необходимой информацией.

$quoteItem = $this->_quoteItemFactory->create();
$quoteItem->setQuote($quote);
$quoteItem->setProduct($product);

/** @var $request \Magento\Quote\Model\Quote\Address\RateRequest */
$request = $this->_rateRequestFactory->create();

$request->setAllItems([$quoteItem]);
$request->setDestCountryId($this->getCurrentCountry());
$request->setStoreId($quote->getStoreId());
$request->setWebsiteId($this->_storeManager->getWebsite()->getId());
$request->setBaseCurrency($this->_storeManager->getStore()->getBaseCurrency());
$request->setPackageCurrency($request->getBaseCurrency());

/** @var \Magento\Shipping\Model\Rate\Result $result */
$result = $this->_rateCollector->create()->collectRates($request)->getResult();
$rates = $result->getAllRates();

Если у кого-то есть лучший подход, поправьте меня - я открыт для предложений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...