[英]Shopware 6 Plugin - Read Theme Config in Plugin Subscriber
在 twig 中,我可以通过 theme_config 访问我的主题配置值。
我正在寻找一种在订户中干净地执行此操作的方法。
我试图通过 Shopware\Storefront\Theme\ThemeConfigValueAccessor 获取它们:
$salesChannelContext = $event->getSalesChannelContext();
$this->themeConfigAccessor->get('theme-config-value-key', $salesChannelContext, null);
但是我需要$themeId
作为第三个参数,但我没有找到一种方法来获取当前 SalesChannel 的主题,而不是从数据库中读取。
有人对此案有解决方案吗? 有最佳实践方法吗?
您可以直接从请求中获取当前主题,无需为此向数据库发送 go:
$themeId = $request->attributes->get(SalesChannelRequest::ATTRIBUTE_THEME_ID);
请记住,该属性可能未设置,例如,如果请求不是店面请求。 所以你应该为$themeId
添加一个 null 检查。
如果事件提供,您可以直接从订阅的事件中获取当前请求。 如果没有,您可以将request_stack
服务注入您的订阅者并从那里获取当前请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.