Magento:为客户组设置默认商店视图


Magento: Set default store view for customer groups

我似乎真的找不到为客户组设置特定商店视图的方法。我有 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>

这已经过测试,并且正在工作。对不起,之前的混乱。我没有测试第一种方法。我认为它应该有效。