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 프레임 워크 자체는 컬렉션을 많이 사용합니다.
그렇지 않으면 해당 엔티티에 대한 새 데이터 인터페이스 (즉, 새 속성 집합)를 정의하는 모듈을 구현해야합니다.
약간의 빛을 흘리기를 바랍니다.
제휴하지 않습니다 magento.stackexchange