Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setSlot example
$collection
->
add
(
$leftSlot
)
;
static
::
assertNotNull
(
$collection
->
getSlot
(
'left'
)
)
;
static
::
assertEquals
(
'left',
$collection
->
getSlot
(
'left'
)
->
getSlot
(
)
)
;
}
private
function
getSlot
(
string
$slotName
)
: CmsSlotEntity
{
$slot
=
new
CmsSlotEntity
(
)
;
$slot
->
setUniqueIdentifier
(
Uuid::
randomHex
(
)
)
;
$slot
->
setSlot
(
$slotName
)
;
return
$slot
;
}
}
$cmsPageEntity
=
new
CmsPageEntity
(
)
;
$cmsSectionEntity
=
new
CmsSectionEntity
(
)
;
$cmsSectionEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsBlockEntity
=
new
CmsBlockEntity
(
)
;
$cmsBlockEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsSlotEntity
=
new
CmsSlotEntity
(
)
;
$cmsSlotEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsSlotEntity
->
setSlot
(
json_encode
(
$productEntity
->
getTranslated
(
)
, \JSON_THROW_ON_ERROR
)
)
;
$cmsBlockEntity
->
setSlots
(
new
CmsSlotCollection
(
[
$cmsSlotEntity
]
)
)
;
$cmsSectionEntity
->
setBlocks
(
new
CmsBlockCollection
(
[
$cmsBlockEntity
]
)
)
;
$cmsPageEntity
->
setSections
(
new
CmsSectionCollection
(
[
$cmsSectionEntity
]
)
)
;
return
$cmsPageEntity
;
}
/** * @return array<string, array<string, array<string, array<string, array<string, string>>>>> */
true, true, 0
]
,
]
;
}
protected
function
enrichProductWithCmsConfig
(
SalesChannelProductEntity
$product
)
: CmsSlotEntity
{
$fieldConfig
=
new
FieldConfigCollection
(
)
;
$fieldConfig
->
add
(
new
FieldConfig
(
'product', FieldConfig::SOURCE_STATIC,
$product
->
getId
(
)
)
)
;
$slot
=
new
CmsSlotEntity
(
)
;
$slot
->
setUniqueIdentifier
(
'id'
)
;
$slot
->
setSlot
(
'product-box'
)
;
$slot
->
setType
(
'product-box'
)
;
$slot
->
setFieldConfig
(
$fieldConfig
)
;
$slot
->
getFieldConfig
(
)
;
$cmsBlock
=
new
CmsBlockEntity
(
)
;
$cmsBlock
->
setUniqueIdentifier
(
'block1'
)
;
$cmsBlock
->
setSlots
(
new
CmsSlotCollection
(
[
$slot
]
)
)
;
$cmsSection
=
new
CmsSectionEntity
(
)
;
$cmsSection
->
setUniqueIdentifier
(
'section1'
)
;
$cmsSection
->
setBlocks
(
new
CmsBlockCollection
(
[
$cmsBlock
]
)
)
;
$cmsPageEntity
=
new
CmsPageEntity
(
)
;
$cmsSectionEntity
=
new
CmsSectionEntity
(
)
;
$cmsSectionEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsBlockEntity
=
new
CmsBlockEntity
(
)
;
$cmsBlockEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsSlotEntity
=
new
CmsSlotEntity
(
)
;
$cmsSlotEntity
->
setId
(
Uuid::
randomHex
(
)
)
;
$cmsSlotEntity
->
setSlot
(
json_encode
(
$productEntity
->
getTranslated
(
)
, \JSON_THROW_ON_ERROR
)
)
;
$cmsBlockEntity
->
setSlots
(
new
CmsSlotCollection
(
[
$cmsSlotEntity
]
)
)
;
$cmsSectionEntity
->
setBlocks
(
new
CmsBlockCollection
(
[
$cmsBlockEntity
]
)
)
;
$cmsPageEntity
->
setSections
(
new
CmsSectionCollection
(
[
$cmsSectionEntity
]
)
)
;
return
$cmsPageEntity
;
}
}
$this
->
getSlot
(
)
,
]
)
)
;
return
$block
;
}
private
function
getSlot
(
)
: CmsSlotEntity
{
$slot
=
new
CmsSlotEntity
(
)
;
$slot
->
setType
(
'slot'
)
;
$slot
->
setConfig
(
[
]
)
;
$slot
->
setSlot
(
uniqid
(
'', true
)
)
;
$slot
->
setUniqueIdentifier
(
Uuid::
randomHex
(
)
)
;
return
$slot
;
}
}