Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getDeliveryTime example
// set the label if its empty or the context does not have the permission to overwrite it
if
(
$label
=== '' || !
$behavior
->
hasPermission
(
self::ALLOW_PRODUCT_LABEL_OVERWRITES
)
)
{
$lineItem
->
setLabel
(
$product
->
getTranslation
(
'name'
)
)
;
}
if
(
$product
->
getCover
(
)
)
{
$lineItem
->
setCover
(
$product
->
getCover
(
)
->
getMedia
(
)
)
;
}
$deliveryTime
= null;
if
(
$product
->
getDeliveryTime
(
)
!== null
)
{
$deliveryTime
= DeliveryTime::
createFromEntity
(
$product
->
getDeliveryTime
(
)
)
;
}
$weight
=
$product
->
getWeight
(
)
;
$lineItem
->
setStates
(
$product
->
getStates
(
)
)
;
if
(
$lineItem
->
hasState
(
State::IS_PHYSICAL
)
)
{
$lineItem
->
setDeliveryInformation
(
new
DeliveryInformation
(
(int)
$product
->
getAvailableStock
(
)
,
return
new
DeliveryCollection
(
[
$delivery
]
)
;
}
private
function
buildSingleDelivery
(
ShippingMethodEntity
$shippingMethod
,
LineItemCollection
$collection
,
SalesChannelContext
$context
)
: ?Delivery
{
$positions
=
new
DeliveryPositionCollection
(
)
;
$deliveryTime
= null;
// use shipping method delivery time as default
if
(
$shippingMethod
->
getDeliveryTime
(
)
!== null
)
{
$deliveryTime
= DeliveryTime::
createFromEntity
(
$shippingMethod
->
getDeliveryTime
(
)
)
;
}
$this
->
buildPositions
(
$collection
,
$positions
,
$deliveryTime
)
;
if
(
$positions
->
count
(
)
<= 0
)
{
return
null;
}
return
new
Delivery
(
$positions
,