Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento:为客户组设置默认商店视图_Php_Magento - Fatal编程技术网

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

Php Magento:为客户组设置默认商店视图,php,magento,Php,Magento,我似乎真的找不到为客户群设置特定商店视图的方法。 我有一个视图显示包括增值税的价格,还有一个视图显示不含增值税的价格 现在,我想让我的经销商小组在“经销商店铺视图”中自动查看店铺,以便他们看到不含增值税的价格 似乎没有办法做到这一点 提前谢谢 编辑 谢谢 我在index.php中插入了@Jakub Korupczyński代码,但就在Mage::run()之后 现在它开始工作了 我真的认为它会更好地为这做一个扩展,所以我在学习的过程中。但同时这也可以 编辑2 看来它根本不起作用。没有到达Mage

我似乎真的找不到为客户群设置特定商店视图的方法。 我有一个视图显示包括增值税的价格,还有一个视图显示不含增值税的价格

现在,我想让我的经销商小组在“经销商店铺视图”中自动查看店铺,以便他们看到不含增值税的价格

似乎没有办法做到这一点

提前谢谢

编辑 谢谢

我在index.php中插入了@Jakub Korupczyński代码,但就在Mage::run()之后 现在它开始工作了

我真的认为它会更好地为这做一个扩展,所以我在学习的过程中。但同时这也可以

编辑2
看来它根本不起作用。没有到达Mage::Run之后的代码…

您需要使用observer创建一个新的扩展

例如,我创建了扩展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”:

当然,在app/etc/modules“Jakkor_Setstore.xml”中:


真的
地方的

这是经过测试的,它正在工作。对不起,以前弄得一团糟。我没有测试第一种方法。我认为它应该可以工作。

您需要使用observer创建一个新的扩展

例如,我创建了扩展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”:

当然,在app/etc/modules“Jakkor_Setstore.xml”中:


真的
地方的

这是经过测试的,它正在工作。对不起,以前弄得一团糟。我没有测试第一种方法。我认为它应该可以工作。

Mage::工厂调用在Mage::run之前不起作用。他应该把
Mage::app()
放在第一个Mage::。@seanbreeden我该怎么做?我试过了,但现在我在看index.phpOk时看到一张空白页,对不起,我改为“之后”。谢谢你接受我的回答。哎呀。。经过一些密集的测试;这不管用。。未到达Mage::Run之后的代码…请尝试放置
Mage::app()isLoggedIn())
,则在
if(Mage::getSingleton('customer/session')->前面的行上执行code>。您不能将任何内容放在
Mage::run()之后Mage::工厂调用在Mage::run之前不起作用。他应该把
Mage::app()
放在第一个Mage::。@seanbreeden我该怎么做?我试过了,但现在我在看index.phpOk时看到一张空白页,对不起,我改为“之后”。谢谢你接受我的回答。哎呀。。经过一些密集的测试;这不管用。。未到达Mage::Run之后的代码…请尝试放置
Mage::app()isLoggedIn())
,则在
if(Mage::getSingleton('customer/session')->前面的行上执行code>。您不能将任何内容放在
Mage::run()之后
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
        }
      }
  }
}
<?xml version="1.0"?>
<config>
    <modules>
        <Jakkor_Setstore>
            <active>true</active>
            <codePool>local</codePool>
        </Jakkor_Setstore>
    </modules>
</config>