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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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
Magento:根据客户群显示不含税/增值税的价格_Magento - Fatal编程技术网

Magento:根据客户群显示不含税/增值税的价格

Magento:根据客户群显示不含税/增值税的价格,magento,Magento,以前,我已经实现了一个“只交易”的店面,显示交易客户的增值税内外价格。他们仍然会收到增值税账单,只是目录上显示了除增值税外的价格以及普通的增值税价格 我希望能够在不创建新店面的情况下实现相同的功能,也就是说,如果有人在“交易”客户群中,他们会显示inc和ex vat价格。他们的税率仍然与其他人相同,因此我不希望有一个0%的税组,我想要的只是能够根据他们的组切换价格。这还包括标签,因此不仅有价格,还有明确的inc/exVAT/TAX指示 我花了一段时间用“税”而不是“增值税”在谷歌上搜索,然而,到

以前,我已经实现了一个“只交易”的店面,显示交易客户的增值税内外价格。他们仍然会收到增值税账单,只是目录上显示了除增值税外的价格以及普通的增值税价格

我希望能够在不创建新店面的情况下实现相同的功能,也就是说,如果有人在“交易”客户群中,他们会显示inc和ex vat价格。他们的税率仍然与其他人相同,因此我不希望有一个0%的税组,我想要的只是能够根据他们的组切换价格。这还包括标签,因此不仅有价格,还有明确的inc/exVAT/TAX指示

我花了一段时间用“税”而不是“增值税”在谷歌上搜索,然而,到目前为止,我还没有找到很多关于从哪里开始的线索。如果有一个原因,为什么这不容易做到,那么我想知道。如果没有做到这一点,那么如果有一个前端黑客可以尝试,例如一些有条件的原型来取消css隐藏价格/标签,那么这将是一条必须走的路线

编辑 受发条怪人的启发,我做了这件事,这还不是完美的模块解决方案,但现在对我来说是可行的:

将核心文件克隆到app/code/local/Mage/Tax/Model/Config.php,并更新了getPriceDisplayType函数:

public function getPriceDisplayType($store = null)
{   $customer = Mage::helper('customer')->getCustomer();
    if ($customer->getGroupId() > 1) {
        return self::DISPLAY_TYPE_BOTH;
    } else {
    return (int)Mage::getStoreConfig(self::CONFIG_XML_PATH_PRICE_DISPLAY_TYPE, $store);
    }
}

这取决于0未登录,1为普通客户和任何高于此值的“特殊”组。起初我认为它不起作用,但后来我登录了…

有一个是否包含或排除税款的配置设置,但它不是特定于客户的。我认为最直接的方法是覆盖阅读的点。以下是伪代码

class Your_Module_Model_Config extends Mage_Tax_Model_Config
{
    public function getPriceDisplayType($store = null)
    {
        $customer = Mage::helper('customer')->getCustomer();
        if ($customer->getGroupId() == 'TRADE') {
            return self::DISPLAY_TYPE_BOTH;
        }
        return parent::getPriceDisplayType($store);
    }
}

您可以尝试仅显示指定客户组的无税价格:

谢谢你,钟表匠先生-你又一次想到了Magento糖果。为了看看这是否真的有效,我目前有一个本地文件,其中包含一些代码。我将编辑我的Q,把它放在下一个投注者中…随机咆哮:为什么像这样一个简单的功能没有在核心magento中实现?为什么我需要继续安装数十个插件和编辑数十个php文件才能拥有一个可正常使用的magento(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa