我需要获取一个简单产品的 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/