我想根据 catalog_product_save_before
观察器中的当前商店 ID 将一些网站添加到产品中。
观察者工作正常,但我似乎无法获取创建产品的当前商店 ID。这是我尝试过的:
Mage::app()->getStore()->getId();
返回 0。
Magento 将管理面板视为一个名为 admin
且 id 0 的单独商店。因此,它返回 admin 的商店 ID,这不是我想要的。
所以,我在 here 中尝试了一些东西,它仍然返回 id 为 0。
更多详细信息:
我已以商店管理员身份登录 enterprise.lmm.dev(企业网站的虚拟主机)并正在创建产品。这里,网站名称和商店名称都是“企业”。
创建产品时,我从“选择商店 View ”下拉列表中选择“企业”并填写产品创建表单。
我编写了一个观察者函数“before_product_save()”,这就是我所做的:
echo Mage::app()->getStore()->getStoreId();
但是,这会返回 0。
我想知道这是否可行,以及我是否可以访问商店“企业”的商店 ID。
谢谢。
最佳答案
此时,产品对象中的 store_id
已设置为您保存当前值的商店的 ID。
因此假设 $product
是您的产品对象,您可以使用:
$product->getStoreId()
或者如果您需要商店模型:
Mage::app()->getStore($product->getStoreId());
关于php - Magento - 在产品创建观察者之前获取商店 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23885115/