我似乎真的找不到为客户组设置特定商店视图的方法。我有 1 个视图显示含增值税的价格,1 个视图显示不含增值税的价格。
现在,我希望我的经销商组在"经销商商店视图"中自动查看商店,以便他们看到不含增值税的价格。
似乎没有办法做到这一点!
提前感谢!
编辑
谢谢!
我在索引中插入了@Jakub Korupczyński 代码.php但就在 Mage::run() 之后现在它正在工作!
我确实认为为此进行扩展会更好,所以我正在研究它。但与此同时,这将行!
编辑2
似乎它毕竟不起作用。未到达 Mage::Run 之后的代码...
您需要使用观察器创建一个新的扩展。
例如,我创建了扩展Jakkor_Setstore。所以文件夹看起来像这样:
app/code/local/Jakkor
app/code/local/Jakkor/Setstore
app/code/local/Jakkor/Setstore/etc
app/code/local/Jakkor/Setstore/Model
在等中有一个文件"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>
在模型中有一个文件"观察者.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
}
}
}
}
当然,在应用程序/等/模块"Jakkor_Setstore.xml"中:
<?xml version="1.0"?>
<config>
<modules>
<Jakkor_Setstore>
<active>true</active>
<codePool>local</codePool>
</Jakkor_Setstore>
</modules>
</config>
这已经过测试,并且正在工作。对不起,之前的混乱。我没有测试第一种方法。我认为它应该有效。