구성 가능한 제품에 대해 Magento 2에서 자녀의 부모 제품 ID를 얻는 방법은 무엇입니까?
하위 제품 ID를 기반으로 Magento에서 하위 제품의 상위 제품 ID를 가져오고 싶습니다.
구성 가능한 제품에 대해 Magento 2에서 자녀의 부모 제품 ID를 얻는 방법은 무엇입니까?
하위 제품 ID를 기반으로 Magento에서 하위 제품의 상위 제품 ID를 가져오고 싶습니다.
답변:
phtml 파일에서 상위 제품 ID를 얻으려면 다음을 통해 직접 코드를 호출 할 수 있습니다.
$productId = 52; //this is child product id
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create('Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable')->getParentIdsByChild($productId);
if(isset($product[0])){
//this is parent product id..
echo $product[0];
}
Magento 고유의 방식으로 블록 파일로 호출 할 수 있습니다.
protected $_catalogProductTypeConfigurable;
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
//for getting parent id of simple
\Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable $catalogProductTypeConfigurable,
array $data = []
) {
//for getting parent id of simple
$this->_catalogProductTypeConfigurable = $catalogProductTypeConfigurable;
parent::__construct($context, $data);
}
public function getProductData($id) {
$parentByChild = $this->_catalogProductTypeConfigurable->getParentIdsByChild($id);
if (isset($parentByChild[0])) {
//set id as parent product id...
$id = $parentByChild[0];
}
return $id;
}
Magento\Catalog\Block\Product\AbstractProduct
???