Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
CustomerGroupCondition example
$term
=
$request
->
getParam
(
'sSearch'
)
;
if
(
empty
(
$term
)
)
{
return
;
}
$term
=
$this
->searchTermPreProcessor->
process
(
$term
)
;
$criteria
->
addBaseCondition
(
new
SearchTermCondition
(
$term
)
)
;
}
private
function
addCustomerGroupCondition
(
Criteria
$criteria
, ShopContextInterface
$context
)
: void
{
$condition
=
new
CustomerGroupCondition
(
[
$context
->
getCurrentCustomerGroup
(
)
->
getId
(
)
]
)
;
$criteria
->
addBaseCondition
(
$condition
)
;
}
private
function
addOffset
(
Request
$request
, Criteria
$criteria
)
: void
{
$page
=
(int)
$request
->
getParam
(
'sPage', 1
)
;
$page
=
(
$page
> 0
)
?
$page
: 1;
$request
->
setParam
(
'sPage',
$page
)
;
public
function
createBaseCriteria
(
$categoryIds
, ShopContextInterface
$context
)
{
$criteria
=
new
Criteria
(
)
;
$criteria
->
addBaseCondition
(
new
CategoryCondition
(
$categoryIds
)
)
;
if
(
$this
->config->
get
(
'hideNoInStock'
)
)
{
$criteria
->
addBaseCondition
(
new
IsAvailableCondition
(
)
)
;
}
$criteria
->
addBaseCondition
(
new
CustomerGroupCondition
(
[
$context
->
getCurrentCustomerGroup
(
)
->
getId
(
)
]
)
)
;
$this
->eventManager->
notify
(
'Shopware_SearchBundle_Create_Base_Criteria',
[
'criteria' =>
$criteria
,
'context' =>
$context
,
'categoryIds' =>
$categoryIds
,
]
)
;
return
$criteria
;
}
$criteria
->
offset
(
$this
->
Request
(
)
->
getParam
(
'start', 0
)
)
;
$criteria
->
limit
(
$this
->
Request
(
)
->
getParam
(
'limit', 20
)
)
;
$context
=
$this
->
createContext
(
(int)
$this
->
Request
(
)
->
getParam
(
'shopId'
)
,
(int)
$this
->
Request
(
)
->
getParam
(
'currencyId'
)
,
$this
->
Request
(
)
->
getParam
(
'customerGroupKey'
)
)
;
$criteria
->
addBaseCondition
(
new
CustomerGroupCondition
(
[
$context
->
getCurrentCustomerGroup
(
)
->
getId
(
)
]
)
)
;
$category
=
$context
->
getShop
(
)
->
getCategory
(
)
->
getId
(
)
;
$criteria
->
addBaseCondition
(
new
CategoryCondition
(
[
$category
]
)
)
;
$result
=
Shopware
(
)
->
Container
(
)
->
get
(
ProductSearchInterface::
class
)
->
search
(
$criteria
,
$context
)
;
$products
=
array_values
(
$result
->
getProducts
(
)
)
;