Magento - 获取心愿单中项目的关联产品属性

时间:2016-05-19 18:07:39

标签: php magento model magento-1.9

在app / code / local / Mage / Catalog / Product / Type / Configurable / Price.php中,我试图获取心愿单中关联产品的属性值。我尝试了几种方法,但我似乎只能为父产品生成数据。

最新尝试

    $customer = Mage::getSingleton('customer/session')->getCustomer();
    if($customer->getId()) {
        $wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customer, true);
        $wishListItemCollection = $wishlist->getItemCollection();
        foreach ($wishListItemCollection as $wlitem) {
            $wishitem = Mage::getModel('catalog/product')->setStoreId($wlitem->getStoreId())->load($wlitem->getProductId());
            //echo $wishitem->getId() . '<br>';
            if($product->getId() == $wishitem->getId()) { //if the current product id equals the wishlist product id
                echo $wishitem->getSku()."</br>";
            }
        }
    }

这只会让我成为父母产品的sku。我最终想要得到的是我为可配置产品添加的2个属性的属性值(不是超级属性),但看起来Price.php中的$ product只有父产品集合。

其他尝试:

            $item_s = Mage::getModel('wishlist/item')->loadWithOptions($product->getId(), 'simple_product')->getOptionsByCode();
            $simple_product = $item_s['simple_product']->getData();
            $simple_product_id = $simple_product['product_id'];
            $sim_product = Mage::getModel('catalog/product')->load($simple_product_id);
            print_r($sim_product);

这只会导致页面出错。

另外:

    $_item = Mage::getModel('catalog/product')->load($product->getId());
    //echo $_item->getData('ppuom');
    //print_r($_item);
    $simpleProduct = $_item->getOptionsByCode()['simple_product']->getItem()->getProduct();
    print_r($simpleProduct); 

1 个答案:

答案 0 :(得分:2)

似乎你大部分都在那里。我在Magento网站上对此进行了测试,这对我有用。实际上非常简单,你只需抓住该系列的正确型号即可。此外,您似乎正在改变定价?!?!请注意,您的愿望清单项目包含逻辑中使用的必要属性。

$_item = Mage::getModel('catalog/product')->load($product->getId());
$attribute1 = $_item->getData('attribute1_code'); //see admin for attribute code
$attribute2 = $_item->getData('attribute2_code'); //see admin for attribute code

更改模板的心愿单文件,而不是代码文件夹中的定价逻辑。您可以访问所需的所有数据,并且不会干扰price.php文件,该文件在购物车和网站的其他关键区域中非常依赖。无论如何,当愿望清单中的价格被移动到购物车时,它将重新计算。