Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-instant-purchase
Model
ShippingMethodChoose
CheapestMethodDeferredChooser.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\InstantPurchase\Model\ShippingMethodChoose
;
7
8
use
Magento\Quote\Model\Quote\Address
;
9
use
Magento\Quote\Model\Quote\Address\Rate
;
10
14
class
CheapestMethodDeferredChooser
implements
DeferredShippingMethodChooserInterface
15
{
16
const
METHOD_CODE
=
'cheapest'
;
17
21
public
function
choose
(
Address
$address
)
22
{
23
$address
->setCollectShippingRates(
true
);
24
$address
->collectShippingRates();
25
$shippingRates =
$address
->getAllShippingRates();
26
27
if
(empty($shippingRates)) {
28
return
null
;
29
}
30
31
$cheapestRate = $this->selectCheapestRate($shippingRates);
32
return
$cheapestRate->getCode();
33
}
34
41
private
function
selectCheapestRate(array $shippingRates) :
Rate
42
{
43
$rate
= array_shift($shippingRates);
44
foreach
($shippingRates as $tmpRate) {
45
if
($tmpRate->getPrice() <
$rate
->getPrice()) {
46
$rate
= $tmpRate;
47
}
48
}
49
return
$rate
;
50
}
51
}
Magento\InstantPurchase\Model\ShippingMethodChoose
Definition:
CarrierFinder.php:6
Magento\Quote\Model\Quote\Address\Rate
Definition:
Rate.php:38
Magento\InstantPurchase\Model\ShippingMethodChoose\DeferredShippingMethodChooserInterface
Definition:
DeferredShippingMethodChooserInterface.php:16
Magento\InstantPurchase\Model\ShippingMethodChoose\CheapestMethodDeferredChooser\METHOD_CODE
const METHOD_CODE
Definition:
CheapestMethodDeferredChooser.php:16
$address
$address
Definition:
customer.php:38
$rate
$rate
Definition:
quote_with_check_payment.php:11
Magento\InstantPurchase\Model\ShippingMethodChoose\CheapestMethodDeferredChooser\choose
choose(Address $address)
Definition:
CheapestMethodDeferredChooser.php:21
Magento\Quote\Model\Quote\Address
Definition:
BillingAddressPersister.php:6
Magento\Customer\Model\Address
Definition:
Address.php:23
Magento\InstantPurchase\Model\ShippingMethodChoose\CheapestMethodDeferredChooser
Definition:
CheapestMethodDeferredChooser.php:14