之前我实施了一个“仅限贸易”的商店前台,显示贸易客户的增值税和增值税价格。他们仍然需要缴纳增值税,只是目录显示增值税价格以及常规增值税价格。
我希望能够实现相同的功能,而无需创建新的商店前端,即如果有人在“交易”客户群中,他们会看到显示的价格是公司和公司。他们仍然和其他人一样处于相同的税率,所以我不希望拥有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);
}
}
这取决于0未登录,1是普通客户和任何高于此的“特殊”组。我起初并不认为它有效,但后来我登录了......
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
您可以尝试此操作,仅显示指定客户群的免税价格: http://www.magentocommerce.com/magento-connect/catalog/product/view/id/18364/