twig - 实体扩展(产品)的图像和价格未显示在自己的店面模块中,但显示其他信息
问题描述
类似于sw-entity-many-to-many-select 在自己的管理模块中的这个问题 没有名称的产品变体可见我想在我的店面页面上显示分配的产品,就像在这里描述的那样(在带有 的选项卡中{% sw_include '@Storefront/storefront/component/product/card/box-standard.html.twig' with {'product': product} %}
) :https ://docs.shopware.com/en/shopware-platform-dev-en/how-to/indepth-guide-bundle/storefront 。这有效,但未加载图像和价格,但显示了其他信息。有人知道为什么或缺少什么吗?
请参阅:屏幕截图
解决方案
sales_channel.product.repository
您可以使用存储库来代替使用“普通”产品存储库加载产品。销售渠道存储库加载具有所有必要关联的实体,因此您不必自己加载这些关联。
有关详细信息,您可以检查\Shopware\Core\Content\Product\SalesChannel\SalesChannelProductDefinition
定义,在该类中配置了由销售渠道存储库加载的附加关联和字段。
请记住,产品销售渠道存储库实现了\Shopware\Core\System\SalesChannel\Entity\SalesChannelRepositoryInterface
而不是,\Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface
因此搜索方法需要 SalesChannelContext 而不是 Context。
推荐阅读
- java - 如果我在另一个片段中覆盖接口而不是在活动中,如何在片段中初始化接口回调
- xml - 我们可以在 Spring XML 配置文件中使用 Apache Camel 设置 Kafka 属性吗
- matplotlib - 如何将两个数据集绘制成使用相同的 bin 大小?
- swift - 如何扩展 UIViewController 以在 Swift 中隐藏和显示 StatusBar
- symfony - Symfony DI 组件 - 如何使某些服务公开并可通过接口类名访问
- git - 如何使用 git 丢弃暂存文件?
- angular - 如何将标签放在 matInput 上,如 bootstrap
- c# - Angular CLI HTTP 客户端获取数据但不刷新对象
- c# - .NET 将 crossorigin/> 更改为 crossorigin=""/>
- java - 无法识别下拉列表中的元素