Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在自定义脚本中为客户提供Magento产品getFinalPrice_Php_Magento - Fatal编程技术网

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)
    ),但这似乎不会影响
    $product->getFinalPrice()

    编辑:我还应该说,我已经通过回显会话中的客户组id确认会话正常工作

  • 将产品添加到为该客户创建的
    sales/quote
    ,然后从
    quote\u项目中获得价格,但这也不起作用

  • 我按照
    Mage\u Catalog\u Model\u Product::getFinalPrice()
    找到了两个事件观察者,
    Mage\u CatalogRule\u Model\u Observer::processFrontFinalPrice()
    processAdminFinalPrice()
    。看起来我应该能够在产品上设置客户组id,所以我也尝试过这样做。。。不走运。在
    processFrontFinalPrice()
    中确定客户组id的逻辑如下所示:

    if ($observer->hasCustomerGroupId()) {
        $gId = $observer->getEvent()->getCustomerGroupId();
    } elseif ($product->hasCustomerGroupId()) {
        $gId = $product->getCustomerGroupId();
    } else {
        $gId = Mage::getSingleton('customer/session')->getCustomerGroupId();
    }
    

您是否检查了方法头<代码>公共功能登录($username,$password)。不能将login()与customerId一起使用

但有:

Mage::getSingleton('customer/session')->loginById($customerId);

对不起,
loginById
是我使用的产品。您是否将这些产品作为一个集合?你能加上价格吗?我这里没有代码,但是在产品集合上有一个方法,比如
addPriceData()
或者类似的东西。实际上没有,我使用
Mage::getModel('catalog/product')->load($id)