Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setCategories example
if
(
isset
(
$cheapestPrices
[
$number
]
)
)
{
$product
->
setCheapestPriceRule
(
$cheapestPrices
[
$number
]
)
;
}
if
(
isset
(
$voteAverages
[
$number
]
)
)
{
$product
->
setVoteAverage
(
$voteAverages
[
$number
]
)
;
}
if
(
isset
(
$categories
[
$number
]
)
)
{
$product
->
setCategories
(
$categories
[
$number
]
)
;
}
if
(
$product
->
getManufacturer
(
)
&&
isset
(
$manufacturerCovers
[
$product
->
getManufacturer
(
)
->
getCoverId
(
)
]
)
)
{
$product
->
getManufacturer
(
)
->
setCoverMedia
(
$manufacturerCovers
[
$product
->
getManufacturer
(
)
->
getCoverId
(
)
]
)
;
}
$product
->
addAttribute
(
'marketing',
$this
->marketingService->
getProductAttribute
(
$product
)
)
;
$this
->priceCalculationService->
calculateProduct
(
$product
,
$context
)
;
if
(
!
$this
->
isProductValid
(
$product
,
$context
)
)
{
$struct
->
setLastOrderTime
(
isset
(
$data
[
'last_order_time'
]
)
?
new
DateTime
(
$data
[
'last_order_time'
]
)
: null
)
;
$struct
->
setPayments
(
array_map
(
'\intval',
$this
->
explodeAndFilter
(
$data
[
'selected_payments'
]
?? ''
)
)
)
;
$struct
->
setShops
(
array_map
(
'\intval',
$this
->
explodeAndFilter
(
$data
[
'ordered_in_shops'
]
?? ''
)
)
)
;
$struct
->
setDevices
(
$this
->
explodeAndFilter
(
$data
[
'ordered_with_devices'
]
?? ''
)
)
;
$struct
->
setDispatches
(
array_map
(
'\intval',
$this
->
explodeAndFilter
(
$data
[
'selected_dispachtes'
]
?? ''
)
)
)
;
$struct
->
setWeekdays
(
$this
->
explodeAndFilter
(
$data
[
'weekdays'
]
?? ''
)
)
;
if
(
\
array_key_exists
(
'product_numbers',
$data
)
)
{
$struct
->
setProducts
(
$this
->
explodeAndFilter
(
$data
[
'product_numbers'
]
?? ''
)
)
;
}
if
(
\
array_key_exists
(
'category_ids',
$data
)
)
{
$struct
->
setCategories
(
array_map
(
'\intval',
$this
->
explodeAndFilter
(
$data
[
'category_ids'
]
?? ''
)
)
)
;
}
if
(
\
array_key_exists
(
'manufacturer_ids',
$data
)
)
{
$struct
->
setManufacturers
(
array_map
(
'\intval',
$this
->
explodeAndFilter
(
$data
[
'manufacturer_ids'
]
?? ''
)
)
)
;
}
return
$struct
;
}
/** * @return array<string|numeric-string> */
$categoryIds
=
array_keys
(
array_flip
(
array_merge
(
...
$categoryIds
)
)
)
;
$categoryIds
=
array_filter
(
$categoryIds
)
;
if
(
empty
(
$categoryIds
)
)
{
return
;
}
$categories
=
$this
->categoryService->
getList
(
$categoryIds
,
$context
)
;
/** @var Emotion $emotion */
foreach
(
$emotions
as
$emotion
)
{
$emotion
->
setCategories
(
array_intersect_key
(
$categories
,
array_flip
(
$emotion
->
getCategoryIds
(
)
)
)
)
;
}
}
/** * @param Emotion[] $emotions */
private
function
resolveShops
(
array
$emotions
)
{
$shopIds
=
array_map
(
function
DEmotion
$emotion
)
{
if
(
Shopware
(
)
->
Container
(
)
->
get
(
'auth'
)
->
getIdentity
(
)
->id
)
{
$user
=
$this
->
get
(
'models'
)
->
find
(
User::
class
,
Shopware
(
)
->
Container
(
)
->
get
(
'auth'
)
->
getIdentity
(
)
->id
)
;
$emotion
->
setUser
(
$user
)
;
}
$emotion
->
setModified
(
new
DateTime
(
)
)
;
$emotion
->
setName
(
$data
[
'name'
]
)
;
$emotion
->
setValidFrom
(
$validFrom
)
;
$emotion
->
setValidTo
(
$validTo
)
;
$emotion
->
setShops
(
$shops
)
;
$emotion
->
setCategories
(
$categories
)
;
$emotion
->
setElements
(
$elements
)
;
$emotion
->
setTemplate
(
$template
)
;
$emotion
->
setParentId
(
!
empty
(
$data
[
'parentId'
]
)
?
$data
[
'parentId'
]
: null
)
;
$emotion
->
setActive
(
!
empty
(
$data
[
'active'
]
)
)
;
$emotion
->
setPosition
(
!
empty
(
$data
[
'position'
]
)
?
$data
[
'position'
]
: 1
)
;
$emotion
->
setShowListing
(
!
empty
(
$data
[
'showListing'
]
)
)
;
$emotion
->
setFullscreen
(
!
empty
(
$data
[
'fullscreen'
]
)
)
;
$emotion
->
setDevice
(
(
!
empty
(
$data
[
'device'
]
)
||
$data
[
'device'
]
=== '0'
)
?
$data
[
'device'
]
: null
)
;
$emotion
->
setMode
(
$data
[
'mode'
]
)
;
$emotion
->
setRows
(
$data
[
'rows'
]
)
;
$emotion
->
setCols
(
$data
[
'cols'
]
)
;