Magento - 在产品创建观察者之前获取商店ID

I want to add a few websites to a product based on the current store id in the catalog_product_save_before observer.

The observer is working fine, but I can not seem to get the current store id from which the product is created. This is what I tried:

Mage::app()->getStore()->getId();

which returns 0.

Magento treats admin panel as a separate store with name admin and id 0. So, it returns the store id for admin, which is not what I want.

So, I tried a few things in here, and it still returns the id as 0.

More Details:

I have logged in as a store admin to enterprise.lmm.dev(virtual host for enterprise website) and am creating a product. Here, both the website name and store name is 'enterprise'.

When creating a product, I choose 'enterprise' from the 'Choose Store View' drop-down and fills the product create form.

I have written an observer function 'before_product_save()', in which this is what I do:

echo Mage::app()->getStore()->getStoreId();

But, this is returning 0.

I want to know if this is the way to go and if I can access the store id for the store 'enterprise'.

Thanks.

Try:

Mage::app()->getStore()->getStoreId();

At this point store_id in the product object has been set to the ID of the store for which you save the current values.

So assuming, $product is your product object, you can use this:

$product->getStoreId()

Or if you need the store model:

Mage::app()->getStore($product->getStoreId());

If Mage::app()->getStore()->getStoreId() not working then try $this->helper('core')->getStoreId() or Mage::helper('core')->getStoreId()