63 $this->_error = $error;
84 if (
$result instanceof \
Magento\Quote\Model\Quote\Address\RateResult\Error) {
87 if (
$result instanceof \
Magento\Quote\Model\Quote\Address\RateResult\AbstractResult) {
116 return isset($this->_rates[
$id]) ? $this->_rates[
$id] :
null;
128 foreach ($this->_rates as
$rate) {
129 if (
$rate->getCarrier() === $carrier) {
143 if ($this->_storeManager->getStore()->getBaseCurrency()
144 && $this->_storeManager->getStore()->getCurrentCurrency()
146 $currencyFilter = $this->_storeManager->getStore()->getCurrentCurrency()->getFilter();
147 $currencyFilter->setRate(
148 $this->_storeManager->getStore()->getBaseCurrency()->getRate(
149 $this->_storeManager->getStore()->getCurrentCurrency()
152 }
elseif ($this->_storeManager->getStore()->getDefaultCurrency()) {
153 $currencyFilter = $this->_storeManager->getStore()->getDefaultCurrency()->getFilter();
155 $currencyFilter = new \Magento\Framework\Filter\Sprintf(
'%s', 2);
159 foreach ($allRates as
$rate) {
162 'title' =>
$rate->getMethodTitle(),
163 'price' =>
$rate->getPrice(),
164 'price_formatted' => $currencyFilter->filter(
$rate->getPrice()),
180 if (is_numeric(
$rate->getPrice()) &&
$rate->getPrice() < $minPrice) {
182 $minPrice =
$rate->getPrice();
196 if (!is_array($this->_rates) || !count($this->_rates)) {
200 foreach ($this->_rates as
$i =>
$rate) {
223 if ($packageCount > 1) {
224 foreach ($this->_rates as
$rate) {
225 $rate->setPrice(
$rate->getPrice() * $packageCount);
elseif(isset( $params[ 'redirect_parent']))
updateRatePrice($packageCount)
__construct(\Magento\Store\Model\StoreManagerInterface $storeManager)
getRatesByCarrier($carrier)