php - Magento 获取可配置的第一个简单产品的 SKU

标签 php magento foreach

我需要获取一个简单产品的 SKU,该产品是 Magento 中可配置的一部分。

大致如下:

if($_product is simple) {
    echo $_product->getSku();
}
elseif($_product is configurable) {
    $simples = $_product-> //Get simple products;

    foreach($simples as $simple) {
        echo $simple->getSku();
    }
}

另外我如何检查产品类型?

谢谢。

最佳答案

Magento 1

尚未测试,但应该可以工作:

    $product = Mage::getModel('catalog/product')->load(1);
    if ($product->isSimple()) {
         echo $product->getSku(); 
    } else {
        $childProducts = Mage::getModel('catalog/product_type_configurable')
                    ->getUsedProducts(null,$product);
        foreach ($childProducts as $childProduct) {
           echo $childProduct->getSku();
        }
    }

您可以使用:

if ($product->getTypeId() == "configurable") 
{
    //Your code here
}

or

if ($product->isConfigurable()) 
{
    //Your code here
}

检查产品类型。

Magento 2

/** @var Magento\Catalog\Model\Product $configurableProduct */

$simpleProducts = $configurableProduct->getTypeInstance()->getUsedProducts($configurableProduct);

foreach ($simpleProducts as $product) {
    echo "Product Sku: " . $product->getSKU();
}

关于php - Magento 获取可配置的第一个简单产品的 SKU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368039/

相关文章:

php - 在其他函数中包装全局对象的访问器方法

PHP:包含和需要文件时抛出错误

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 无法从 URL 中获取变量

php - 为已经存在的客户创建一个客户地址 - Magento

magento - 如何为制造商的每个属性提供链接

php - 将产品属性移至 magento admin 中的新组

json - React Object of Objects - 如何循环

c# - 如何从父函数中捕获子过程异常?

c++ - std::string 和字符串文字之间的不一致