如何在Magento 2中按特定属性获取产品

时间:2016-11-08 17:14:55

标签: php magento product magento2

我有这个问题:

这里我正在寻找传递$ product_id变量的产品。

$product_id = 2047;
$attr_color = 54;
$attr_size = 170;

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
$product = $objectManager->get('Magento\Catalog\Model\Product')->load($product_id);

我想获得与attr_color和attr_size变量匹配的特定产品变体。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

  

使用 attr_color 和获取特定产品变体    attr_size 您需要首先获取该属性,然后将 attribute_id 传递给该属性。

尝试以下代码:

            $product_id = 2047;
            $attr_color = 54;

          $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
          $_product = $objectManager->get('Magento\Catalog\Model\Product')->load($product_id);
          $_product = $_product->getResource()->getAttribute('color');    

         if ($_product->usesSource()) {
           $_product = $_product->getSource()->getOptionText($attr_color);
        }
           return $_product;

同样,您也可以为 attribute_size 执行此操作。