magelounge

Infos, Tipps und Tricks rund um Magento Commerce

Start › 2010 › November

Codeschnipsel: Beziehungen zwischen Simple und Configurable Products

Codeschnipsel 3 Kommentare

Archiv-Beitrag aus 2010 – Magento mache ich heute nur noch selten. Aktuell: com:werft (Shopware 6, Laravel & PHP) · siepker.com · kontor:worx · campr

Bei der Arbeit mit Produkten kann es passieren, dass man zu einem Simple-Product wissen möchte, ob es Teil eine Configurable Products ist. Auch der Weg umgekehrt kann vorkommen. Ausgehend vom Configurable Product sollen die Simple Products ermittelt werden.

Teil 1: Configurable Product ermitteln

$sku = "A1234";
$product = Mage::getModel('catalog/product');
$id = $product->getIdBySku($sku);
$product->load($id);
$parentProductIds = $product->loadParentProductIds()->getParentProductIds();

var_dump($parentProductIds);

array
  0 => string '142' (length=3)
  1 => string '143' (length=3)

Somit hat man an dieser Stelle die Info, das das Simple Product Teil eines Configurables ist. Umgekehrt kann es z.B. auch sinnvoll sein zu schauen, ob das Configurable Product Simple Products hat.

Teil 2: Simple Products ermitteln

$sku = "A1234";
$product = Mage::getModel('catalog/product');
$id = $product->getIdBySku($sku);
$product->load($id);
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);

$activeChildProducts = false;
foreach ($childProducts as $child) {
    $sku = $child->getSku();
    $status = $child->getStatus();
    if ($child->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED) {
        $activeChildProducts = true;
        break;
    }
}
if (!$activeChildProducts) {
    $product->setStatus(Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
}
$product->save();

In diesem Beispiel werden alle Simple-Products eines Configurable Products ermitteln und per Schleife geprüft, ob diese noch den Status "enabled" besitzen. Falls keines dieser Produkt aktiv ist, wird auch das Hauptprodukt auf "disabled" gesetzt.

3 Kommentare

Tobias Vogt

Ein Doppelpost? http://www.webguys.de/magento/codeschnipsel-von-simple-zum-configurable-product/

Aber wir waren einen Tag schneller - dafür ist dein Beitrag ausführlicher. Dennoch ein cooler Zufall :D

Ralf SiepkerAutor

Dein Post war meine Inspiration, tobi :-) Das ist ein Auszug aus einem Script, dass schon seit längerem fertig ist und jede Menge Simple/Configurable Products ein- und ausschaltet. Das ganze dann bei 10.000 Produkten in vier StoreViews. :-)

Tobias Vogt

Oh das freut mich :) Ich bin doch gerne eine Muse :D

Kommentare sind geschlossen – dieser Blog ist ein Archiv.

Meine Projekte

Der Blog ist Archiv – gebaut wird heute hier:

com:werft

Software-Entwicklung für Shopware 6, Laravel und PHP – als Freelancer unterstütze ich Shopbetreiber und verstärke Agentur-Teams.

comwerft.de →

siepker.com

Meine persönliche Seite: Blog über Camping, Radtouren, Segelfliegen und Software.

siepker.com →

kontor:worx

Bürogemeinschaft & Coworking in Rheine seit 2012 – Büros XS–L, FixedDesk, FlexDesk und ein Meetingraum, mitten in der Innenstadt.

kontorworx.de →

campr

35 Jahre Camping-Leidenschaft: meine persönlich besuchten Stellplätze in Europa – und die Basis für etwas Größeres.