shopware - Shopware 6:为客户群隐藏产品
问题描述
我最好使用什么事件来向客户隐藏产品?
我想只向一个客户群展示一些产品。普通用户应该看不到它们。
解决方案
我会从订阅开始
ProductListingCriteriaEvent
这至少应该允许您过滤掉要隐藏的产品列表。
我相信这仍然可以显示详细信息页面,所以你也应该挂钩
ProductPageLoadedEvent
并检查您的客户群。
最后但并非最不重要的一点是,您可能会遇到缓存问题,即页面将为普通用户缓存,而特定客户群将获得缓存结果,但仍然不包括“他们的”产品。
我们在这里遇到了:Shopware 6:更改 URL 参数在 prod 模式下返回相同的结果
解决方案可能会订阅ProductListingRouteCacheKeyEvent
$event->addPart((string)($currentCustomerGroup ? 'null'));
此外,您可能需要注意隐藏搜索。
这个问题似乎已经通过付费插件(https://store.shopware.com/en/acris84338660411/block-products-for-customer-groups.html)解决了——但如果你自己实现它,它如果你在 GitHub 上发布你的解决方案会很酷:-)
推荐阅读
- c++ - 在 C++ 中计算任何结构的简单方法
- typescript - react-select 中 menuList 样式键的状态类型是什么?
- r - 将非对称矩阵转换为方阵
- c - 在 Makefile 中使用外部依赖项
- python - choice() 接受 2 个位置参数,但给出了 3 个
- java - Kotlin 中选定文本的自定义操作问题
- hibernate - 从 JBoss AS 7.1 迁移到 JBoss EAP 7.3.0
- r - 每列具有不同值的查找表
- ocaml - Return a list of the odd indices using List.map
- python - 从一系列整数中找到完美整数列表