opencart 4 多语言 从 URL 中删除 ?language=

问题描述 投票:0回答:1

您好,我正在尝试从 opencart 4 中的网址中删除 ?language=
exmpale 是我希望 url 从此更改

exmpale.com/en?language=en-gb
exmpale.com/fr?language=fr

exmpale.com/en

第一步我将此代码添加到(catalog/controller/startup/seo_url.php)

if($data['route'] === 'common/home') {
   if($data['language'] === 'fr' && $key ==='language') {
      $url = '/';
      unset($data[$key]);
   } elseif($data['language'] === 'en-gb' && $key ==='language') {
      $url = '/en';
      unset($data[$key]);
  }
}

该更改有效并从网址中删除了 ?language= 但路线给了我未找到错误

php url seo opencart
1个回答
0
投票

就我而言,我添加了

                if (empty($this->request->get['language'])) {
                    $this->request->get['language']='uk-ua';
                }

foreach ($parts as $part) {...}
之后(~原始文件中的第20行) 在目录/控制器/启动/seo_url.php

该语言的 seo url 在数据库中设置为空字符串。

附注并且不要忘记像这样修改同一文件中的重写函数。 更换

        foreach ($paths as $result) {
            $url .= '/' . $result['keyword'];
        }

foreach ($paths as $result) {
            if (!empty($result['keyword'])) {

                $url .= '/' . $result['keyword'];
            } else {
                $url .= $result['keyword'];

            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.