Ich muss alle Produkte mit Preisen von Magento 1.7 exportieren.
Für einfache Produkte ist dies kein Problem, aber für konfigurierbare Produkte habe ich dieses Problem: Der exportierte Preis ist der Preis, der für das zugehörige einfache Produkt festgelegt wurde! Wie Sie wissen, ignoriert Magento diesen Preis und verwendet den Preis des konfigurierbaren Produkts plus Anpassungen für die ausgewählten Optionen.
Ich kann den Preis des übergeordneten Produkts ermitteln, aber wie berechne ich die Differenz in Abhängigkeit von den ausgewählten Optionen?
Mein Code sieht ungefähr so aus:
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;
}
quelle