0

我使用 Opencart 版本 1.5.4.1,并且我已经安装了商店模块并在下拉列表中有 3 个商店(默认示例、商店 1、商店 2)。

我的要求是将最后一个商店(示例 Store2)重定向到account/login.

我试图修改\catalog\controller\module\store.phpfrom index.php?route=common/hometo中的路径,index.php?route=account/login但 Store1 和 Store2 都被重定向到account/login.

我还尝试使用以下if条件:如果我从默认选择 Store1 和 Store1 到 Store2,它可以工作,但如果从默认选择 Store2,它就不起作用。

foreach ($results as $result) {
    if((int)$this->config->get('config_store_id')==1)
    {
        $this->data['stores'][] = array(
            'store_id' => $result['store_id'],
            'name'     => $result['name'],
            'url'      => $result['url'] . 'index.php?route=account/login'
        );
    }
    else
    {
        $this->data['stores'][] = array(
            'store_id' => $result['store_id'],
            'name'     => $result['name'],
            'url'      => $result['url'] . 'index.php?route=common/home'
        );
    }
}
4

1 回答 1

0

您可以使用以下内容vqmod code

  1. 将其复制到带有.xml扩展名的文件中。
  2. 上传到vqmod\xml文件夹。
  3. Store id 设置为 1,如果您的商店编号不同,请更改它。

<modification>
    <id>Force Customer Login</id>
    <version>152.1</version>
    <vqmver>2.1.5</vqmver>
    <author>Qphoria</author>
    <file name="catalog/controller/common/header.php">
        <operation>
            <search position="after"><![CDATA[function index()]]></search>
            <add trim="true">
                <![CDATA[//Q: Force Customer Login
                    $match = false;
                    if (!empty($this - > request - > get['route'])) {

                        $skip = array(
                            'payment',
                            'feed',
                            'forgotten',
                            'login',
                            'register', );

                        foreach($skip as $s) {
                            if (strpos($this - > request - > get['route'], $s) !== false) {
                                $match = true;
                                break;
                            }
                        }
                    }

                    if (!$match) {
                        if (!$this - > customer - > isLogged()) {
                            if ($this - > config - > get('config_store_id') == 1) {
                                $this - > redirect($this - > url - > link('account/login', 'SSL'));
                            }
                        }
                    }
                ]]>
            </add>
        </operation>
    </file>
</modification>
于 2013-04-25T07:55:51.233 回答