Magento - 在产品保存之前,在商店级别设置观察者的产品可见性

时间:2014-06-20 13:54:49

标签: php magento magento-1.8

我有2个网站,每个网站都有2个商店。

当我从网站(例如,网站1)的商店(例如,商店1)创建产品时,如果我将此产品的网站设置为网站1和网站2,则产品的可见性设置为{ {1}}仅适用于我创建它的商店(商店1)。对于其他商店,可见性设置为catalog, Search

我有Not Visible Individually的观察员,我希望在商店级别设置此可见性。

试过这段代码:

catalog_product_save_before

它有效。但为此,我需要获得productId,因为产品尚未保存在我的观察器功能中,所以我不会得到它。

如何在Mage::getModel('catalog/product_action')->updateAttributes( array($productId), array('visibility'=>4), 1 ); 观察员的catalog, Search中为特定商店(例如网站2的商店3)设置此产品展示率?

1 个答案:

答案 0 :(得分:1)

终于明白了。

观察员功能:

public function before_product_save($observer)
{
    $product = $observer->getProduct();
    $product->setStoreId(1)->setData('visibility', 4);
}

其中,商店ID为1,可见性属性值4为Catalog, Search