Saya perlu mengekspor semua produk dengan harga dari Magento 1.7.
Untuk produk sederhana ini bukan masalah, tetapi untuk produk yang dapat dikonfigurasi, saya memiliki masalah ini: Harga yang diekspor adalah harga yang ditetapkan untuk produk sederhana yang terkait! Seperti yang Anda ketahui, Magento mengabaikan harga ini dan menggunakan harga produk yang dapat dikonfigurasi plus penyesuaian untuk opsi yang dipilih.
Saya bisa mendapatkan harga dari produk induk, tetapi bagaimana cara menghitung perbedaan tergantung pada opsi yang dipilih?
Kode saya terlihat seperti ini:
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;
}
sumber