我真的无法找到为客户群设置特定商店视图的方法。 我有1个视图显示价格,包括增值税和1个视图显示没有增值税的价格。
现在我希望我的经销商团队在“经销商商店”视图中自动查看商店,以便他们看到没有增值税的价格。
似乎无法做到这一点!
提前致谢!
谢谢!
我在index.php中插入了@JakubKorupczyński代码但是在Mage :: run()之后 现在它的工作!
我确实认为最好为此做一个延伸,所以我正在学习它。但与此同时,这将会做到!
似乎它毕竟不起作用。未达到Mage :: Run之后的代码......
答案 0 :(得分:4)
您需要使用observer创建一个新的扩展名。
对于Instance我创建了扩展Jakkor_Setstore。所以文件夹看起来像这样:
app/code/local/Jakkor
app/code/local/Jakkor/Setstore
app/code/local/Jakkor/Setstore/etc
app/code/local/Jakkor/Setstore/Model
在etc中有一个文件“config.xml”:
<?xml version="1.0"?>
<config>
<global>
<models>
<setstoreobserver>
<class>Setstore_Model</class>
</setstoreobserver>
</models>
</global>
<frontend>
<events>
<controller_action_predispatch>
<observers>
<jakkor_setstore_model_observer>
<type>singleton</type>
<class>Jakkor_Setstore_Model_Observer</class>
<method>setstore</method>
</jakkor_setstore_model_observer>
</observers>
</controller_action_predispatch>
</events>
</frontend>
</config>
在Model中有一个文件“Observer.php”:
class Jakkor_Setstore_Model_Observer extends Varien_Event_Observer
{
public function setstore($observer)
{
if(Mage::getSingleton('customer/session')->isLoggedIn())
{
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId(); //get the group id
if($groupId == 2) //I don't know what id has your reseller group, so 2 is an example, you need to set here the specific group
{
Mage::app()->setCurrentStore(2); //Set id of the store view without vat
}
else {
Mage::app()->setCurrentStore(1); //set the store view with vat
}
}
}
}
当然在app / etc / modules中“Jakkor_Setstore.xml”:
<?xml version="1.0"?>
<config>
<modules>
<Jakkor_Setstore>
<active>true</active>
<codePool>local</codePool>
</Jakkor_Setstore>
</modules>
</config>
经过测试,它正在运行。对不起之前的混乱。我没有测试第一种方法。我认为它应该有用。