您好,我正在尝试从 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= 但路线给了我未找到错误
就我而言,我添加了
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'];
}
}