Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getCalculationRuleId example
foreach
(
$delivery
->
getPositions
(
)
->
getLineItems
(
)
->
getIterator
(
)
as
$lineItem
)
{
if
(
$lineItem
->
getDeliveryInformation
(
)
&& !
$lineItem
->
getDeliveryInformation
(
)
->
getFreeDelivery
(
)
)
{
return
false;
}
}
return
true;
}
private
function
matches
(
Delivery
$delivery
, ShippingMethodPriceEntity
$shippingMethodPrice
, SalesChannelContext
$context
)
: bool
{
if
(
$shippingMethodPrice
->
getCalculationRuleId
(
)
)
{
return
\
in_array
(
$shippingMethodPrice
->
getCalculationRuleId
(
)
,
$context
->
getRuleIds
(
)
, true
)
;
}
$start
=
$shippingMethodPrice
->
getQuantityStart
(
)
;
$end
=
$shippingMethodPrice
->
getQuantityEnd
(
)
;
$value
=
match
(
$shippingMethodPrice
->
getCalculation
(
)
)
{
self::CALCULATION_BY_PRICE =>
$delivery
->
getPositions
(
)
->
getWithoutDeliveryFree
(
)
->
getPrices
(
)
->
sum
(
)
->
getTotalPrice
(
)
,
self::CALCULATION_BY_LINE_ITEM_COUNT =>
$delivery
->
getPositions
(
)
->
getWithoutDeliveryFree
(
)
->
getQuantity
(
)
,
self::CALCULATION_BY_WEIGHT =>
$delivery
->
getPositions
(
)
->
getWithoutDeliveryFree
(
)
->
getWeight
(
)
,
self::CALCULATION_BY_VOLUME =>
$delivery
->
getPositions
(
)
->
getWithoutDeliveryFree
(
)
->
getVolume
(
)
,