Sto cercando di unire alcuni prodotti esistenti esistenti a livello di codice a un prodotto configurabile esistente.Collegare prodotti semplici a un prodotto configurabile a livello di programmazione
Non ho trovato alcun suggerimento/documentazione su questo. Ho esaminato il MAGMI Magento Mass Importer Plugin (in particolare il file magmi_productimportengine.php
) senza successo.
Dopo che ho trovato questo frammento:
function attachProductToConfigurable($childProduct, $configurableProduct)
{
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct->getId());
$ids = $configurableProduct
->getTypeInstance()
->getUsedProductIds();
$newids = array();
foreach ($ids as $id) {
$newids[$id] = 1;
}
$newids[$childProduct->getId()] = 1;
//$loader->saveProducts($_configurableProduct->getid(), array_keys($newids));
$loader->saveProducts($configurableProduct, array_keys($newids));
}
Ma quando sto cercando di chiamare la funzione come questa:
$sProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $v);
$cProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $sku);
attachProductToConfigurable($sProduct, $cProduct);
(ogni prodotto semplice SKU viene passato passo dopo passo per il configurabile prodotto)
Fatal error: Call to a member function getId() on a non-object in ... on line 1018
che questa linea dalla funzione stessa
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct
->getId());
Dato che io non trovo nulla di simile di entrare SKU semplici per un prodotto configurabile esistente, mi sono bloccato guardando a ciò che potrebbe essere sbagliato durante l'inizializzazione delle chiamate di funzione, modelli di risorse ecc ..
Tutte le idee su cosa tenere d'occhio per ottenere questo risultato è molto apprezzato.
Ciao Marius, grazie ancora! L'unione di SKU in questo modo funziona senza errori. Come hai detto, devo ottenere gli attributi in questo momento. Grazie anche a me per sottolineare il pericolo in questo! :-) Ti auguro il meglio –