Php 在自定义脚本中为客户提供Magento产品getFinalPrice
对于某些客户群,我有几个目录价格规则。以登录客户身份查看产品时,价格显示正确。我想创建一个库存文件,我可以将其发送给具有此折扣定价的客户。我该怎么做 我所尝试的:Php 在自定义脚本中为客户提供Magento产品getFinalPrice,php,magento,Php,Magento,对于某些客户群,我有几个目录价格规则。以登录客户身份查看产品时,价格显示正确。我想创建一个库存文件,我可以将其发送给具有此折扣定价的客户。我该怎么做 我所尝试的: 在获取产品集合之前为客户启动会话(使用Mage::getSingleton('customer/session')->loginById($customerId)),但这似乎不会影响$product->getFinalPrice() 编辑:我还应该说,我已经通过回显会话中的客户组id确认会话正常工作 将产品添加到为该客户创建的sa
- 在获取产品集合之前为客户启动会话(使用
),但这似乎不会影响Mage::getSingleton('customer/session')->loginById($customerId)
编辑:我还应该说,我已经通过回显会话中的客户组id确认会话正常工作$product->getFinalPrice()
- 将产品添加到为该客户创建的
,然后从sales/quote
quote\u项目中获得价格,但这也不起作用
- 我按照
找到了两个事件观察者,Mage\u Catalog\u Model\u Product::getFinalPrice()
和Mage\u CatalogRule\u Model\u Observer::processFrontFinalPrice()
。看起来我应该能够在产品上设置客户组id,所以我也尝试过这样做。。。不走运。在processAdminFinalPrice()
中确定客户组id的逻辑如下所示:processFrontFinalPrice()
if ($observer->hasCustomerGroupId()) { $gId = $observer->getEvent()->getCustomerGroupId(); } elseif ($product->hasCustomerGroupId()) { $gId = $product->getCustomerGroupId(); } else { $gId = Mage::getSingleton('customer/session')->getCustomerGroupId(); }
Mage::getSingleton('customer/session')->loginById($customerId);
对不起,
loginById
是我使用的产品。您是否将这些产品作为一个集合?你能加上价格吗?我这里没有代码,但是在产品集合上有一个方法,比如addPriceData()
或者类似的东西。实际上没有,我使用Mage::getModel('catalog/product')->load($id)