Próbuję programowo dołączyć niektóre istniejące proste produkty do istniejącego konfigurowalnego produktu.Programowo programuje proste produkty konfigurowalnego produktu
Nie znalazłem żadnych wskazówek/dokumentacji na ten temat. Przeanalizowałem wtyczkę MAGMI Magento Mass Importer (w szczególności plik magmi_productimportengine.php
) bez powodzenia.
Potem znalazłem ten fragment:
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));
}
Ale gdy próbuję wywołać funkcję tak:
$sProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $v);
$cProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $sku);
attachProductToConfigurable($sProduct, $cProduct);
(każdy prosty produkt SKU zostanie przeniesiony krok po kroku, aby konfigurowalny Produkt)
Fatal error: Call to a member function getId() on a non-object in ... on line 1018
który ta linia z funkcji samego
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct
->getId());
Ponieważ nie znaleźć niczego podobnego do łączenia prostych SKU do istniejącego konfigurowalnego produktu, siedzę patrząc w górę, co może być nie tak na inicjowanie wywołań funkcji, modele zasobów itp ..
pomysłów o tym, na co warto zwrócić uwagę, aby to osiągnąć, są wysoko cenione.
Cześć Marius, jeszcze raz dziękuję! Scalanie SKU w ten sposób działa bez błędu. Jak już wspomniałeś, muszę teraz uzyskać zestaw atrybutów. Dziękuję również za wskazanie na niebezpieczeństwo! :-) Wszystkiego najlepszego –