2012-02-07 9 views
17

Ho bisogno di ottenere il prodotto configurabile genitore da un prodotto semplice, anche se il prodotto principale è contrassegnato come disabilitato. Devo anche ottenere lo stato del prodotto configurabile (abilitato o disabilitato).Magento ottiene prodotto configurabile da prodotto semplice anche se il prodotto config è disabilitato

In questo momento sto ricevendo il prodotto principale in questo modo:

$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($product->getId()); 
if (isset($parentIds[0])) { 
    $product = Mage::getModel('catalog/product')->load($parentIds[0]); 
} 

Questo funziona perfettamente meno che il prodotto configurabile è stato disabilitato, dove l'array $ parentIds è vuoto. Devo ottenere il prodotto configurabile anche se è disabilitato e inoltre determinare se il prodotto configurabile è abilitato/disabilitato.

Qualsiasi aiuto sarebbe apprezzato!

risposta

31

Ho fatto un po 'di ricerche e non riesco a riprodurre il problema.

Quando chiamo getParentIdsByChild() su un semplice con un configurabile disabilitato, ottengo ancora l'ID del prodotto principale.

$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable') 
     ->getParentIdsByChild(14412); 
var_dump($parentIds); 

Mi dà:

array(1) { 
    [0]=> 
    string(5) "14446" 
} 

14446 ha uno status di disabile. Ho anche provato come in magazzino e esaurito.

Guardando la funzione effettivo sul file di risorse

Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable::getParentIdsByChild() 

posso vedere che appare nella tabella catalog_product_super_link che non ha alcun campo per lo stato, e quindi dovrebbe sempre restituire l'ID genitore, se esiste il collegamento del prodotto.

+0

Ciao, grazie mille per il tuo impegno! Farò un po 'di ricerche sulla mia fine per vedere cos'altro potrebbe essere la causa di questo - ho ipotizzato che il problema fosse causato dal fatto che il prodotto fosse disabilitato poiché questo sembrava essere un elemento comune, ma forse mi sono perso qualcosa. – gregdev

+0

+1 Sono riuscito a ottenere ID prodotto disabilitato e abilitato da questo. –

+0

+1 per risolvere il mio problema, grazie! – Blaater

Problemi correlati