Tôi cần xuất tất cả các sản phẩm có giá từ Magento 1.7.
Đối với các sản phẩm đơn giản, điều này không có vấn đề gì, nhưng đối với các sản phẩm có thể định cấu hình tôi gặp phải vấn đề này: Giá xuất khẩu là giá được đặt cho sản phẩm đơn giản đi kèm! Như bạn đã biết, Magento bỏ qua giá này và sử dụng giá của sản phẩm có thể định cấu hình cộng với các điều chỉnh cho các tùy chọn đã chọn.
Tôi có thể nhận được giá của sản phẩm mẹ, nhưng làm cách nào để tính chênh lệch tùy thuộc vào các tùy chọn đã chọn?
Mã của tôi trông giống như thế này:
foreach($products as $p)
{
$price = $p->getPrice();
// I save it somewhere
// check if the item is sold in second shop
if (in_array($otherShopId, $p->getStoreIds()))
{
$otherConfProd = Mage::getModel('catalog/product')->setStoreId($otherShopId)->load($p->getId());
$otherPrice = $b2cConfProd->getPrice();
// I save it somewhere
unset($otherPrice);
}
if ($p->getTypeId() == "configurable"):
$_associatedProducts = $p->getTypeInstance()->getUsedProducts();
if (count($_associatedProducts))
{
foreach($_associatedProducts as $prod)
{
$p->getPrice(); //WRONG PRICE!!
// I save it somewhere
$size $prod->getAttributeText('size');
// I save it somewhere
if (in_array($otherShopId, $prod->getStoreIds()))
{
$otherProd = Mage::getModel('catalog/product')->setStoreId($otherShopId)->load($prod->getId());
$otherPrice = $otherProd->getPrice(); //WRONG PRICE!!
// I save it somewhere
unset($otherPrice);
$otherProd->clearInstance();
unset($otherProd);
}
}
if(isset($otherConfProd)) {
$otherConfProd->clearInstance();
unset($otherConfProd);
}
}
unset($_associatedProducts);
endif;
}