Magento 1.7 – Programmatically Save Related Products

catalogevent-observermagento-1.7product

I need to set a particular product as related product for all the products.Here is the code that I've tried.

$product=$observer->getProduct();
$id=52;
$data=array(
            $id=>array(
                'position'=>2
            )
        );
$p=Mage::getModel('catalog/product')->load($product->getId());
$p->setRelatedLinkData($data);
$p->save();

But I get error

Fatal error: Maximum function nesting level of '100' reached,
aborting! in
/var/www/magento/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php
on line 205

Any pointers would be helpful.

Best Answer

Use catalog_product_save_before... and update the code so it doesn't end up in an infinite loop.

$product=$observer->getProduct();
$id=52;
$data=array(
            $id=>array(
                'position'=>2
            )
        );
$product->setRelatedLinkData($data);
Related Topic