Magento 2产品存储库
-
29-09-2020 - |
题
在Magento2中,我理解我们必须使用存储库而不是集合。我不明白的是如何将自定义属性添加到存储库。
如果我这样做:
$searchCriteria = $this->searchCriteriaBuilder
->addFilter(ProductInterface::STATUS, Status::STATUS_ENABLED)
->addFilter(ProductInterface::VISIBILITY, array(Visibility::VISIBILITY_IN_SEARCH, Visibility::VISIBILITY_BOTH), 'in')
->create();
$products = $this->productRepositoryInterface->getList($searchCriteria);
.
我有一个产品列表,但我没有我需要的所有属性。
如何实现这一目标?像Magento 1的addAttributeToSelect
的东西。
解决方案
我明白我们必须使用存储库而不是集合
不一定;
afaik,当您使用储存库时,您遵守Magento 2服务合同,这意味着定义服务接口和数据接口(但是由第三方模块扩展)。
在运行时使得可以将呼叫的结果更改为getList()
方法的呼叫将违反此合同。
检索在运行时所需的属性您可以使用集合。 Magento 2框架本身备受繁重的收藏品。
否则,您应该实现一个模块,该模块定义该实体的新数据界面(即新的属性集)。
希望它脱掉一些光。