簡體   English   中英

獲取子產品magento的屬性

[英]Get attributes of child product magento

我需要使用我的可配置產品的一些信息在magento 1.8.0中生成自定義XML模式。 在這些信息中,我需要為每個可配置的產品從簡單產品中獲取一些屬性(尺寸,顏色)。 到目前為止,這是我代碼中的一個相關部分,可以很好地生成XML,但我找不到從簡單產品中獲取“顏色”和“ shirt_size”屬性的方法。

$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('status', 1);
$products->addAttributeToFilter('visibility', 4);
$products->addAttributeToSelect('*');

$xml = new SimpleXMLElement('<xml/>');
foreach ($products as $product_all) {
    $sku = $product_all->getSku(); 
    $price = $product_all->getPrice();

    $prod = $xml->addChild('product');
    $prod->addChild('product_id', "$sku");
    $prod->addChild('price', "$price");
    $prod->addChild('color', "");
    $prod->addChild('shirt_size', "");
}
print($xml->asXML());

謝謝!

您可以嘗試執行以下操作,先加載子產品,然后獲取其已配置選項的屬性值:

foreach ($products as $product_all) {
    ...
    $prod = $xml->addChild('product');
    ...

    /* @var Mage_Catalog_Model_Product $product_all */
    if ($product_all->isConfigurable()) {
        $options = $product_all->getOptionList();
        /* @var Mage_Catalog_Model_Product_Type_Configurable $type */
        $type = $product_all->getTypeInstance();
        $children = $type->getUsedProducts(null, $product_all);
        /* @var Mage_Catalog_Model_Product $child */
        foreach ($children as $child) {
            foreach ($options as $option) {
                $prod->addChild($option->code, $child->getAttributeText($option->code));
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM