【发布时间】:2016-09-16 19:02:03
【问题描述】:
在 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);
【问题讨论】:
-
你还做了哪些其他尝试?
-
@berg37 我会用其他尝试更新我的问题。
标签: php magento model magento-1.9