Magento:根据客户群显示价格ex/inc税/增值税

ʍǝɥ*_*ʇɐɯ 10 magento

以前我实施了一个"仅限贸易"的商店前台,显示贸易客户的增值税和增值税价格.他们仍然需要缴纳增值税,只是目录显示增值税价格以及常规增值税价格.

我希望能够在不创建新店面的情况下实现相同的功能,即如果有人在"交易"客户群中,他们会看到显示的价格是公司和公司.他们仍然和其他人一样处于相同的税率,所以我不希望拥有0%的税收组,我想要的只是能够根据他们的团队来改变价格.这也包括标签,因此不仅仅是价格,而是明确表示增值税/税前/税.

用"税"而不是"增值税"给谷歌花了一段时间,但到目前为止,我还没有找到很多关于从哪里开始的线索.如果有理由不能轻易做到这一点,那么我想知道.如果没有这个,如果有一个前端黑客要尝试,例如一些条件原型来取消隐藏价格/标签,那么这将是必经之路.

编辑

受到Clockworkgeek的启发,我做到了这一点,还不是完美的模块解决方案,但现在对我有用的东西:

将核心文件克隆到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);
    }
}
Run Code Online (Sandbox Code Playgroud)

这取决于0未登录,1是普通客户和任何高于此的"特殊"组.我一开始觉得它不起作用,但后来我登录了......

clo*_*eek 7

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

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);
    }
}
Run Code Online (Sandbox Code Playgroud)