Yii2 使用 UrlManager::createUrl() 将语言添加到 URL

托马·托莫夫

我试图方法中添加例如enbg喜欢的语言www.domain.com/language/createUrl()UrlManager

我只是为了测试而尝试的是:

<?php

namespace frontend\components;

class UrlManager extends \yii\web\UrlManager
{
    public function createUrl($params)
    {
        $url = parent::createUrl($params);

        return "/en{$url}";
    }
}

我在我的课程中添加了课程urlManager

'urlManager' => [
    'class' => 'frontend\components\UrlManager',
    ...
],

从此我预料到了,www.domain.com/en但缺少语言。也许我误解了这个createUrl方法。实现这一目标的正确方法是什么?

重生

您在/enparent::createUrl(). 它会显示你喜欢的/enhttp://example.com/controller/action,你想要什么是域名之后追加再追加URL的休息,所以你需要explode()URL,并插入所需块en所需的位置内,您可以通过使用做到这一点array_splice()

只是为了更正,你可以使用以下

<?php

namespace frontend\components;


class UrlManager extends \yii\web\UrlManager
{
    public function createUrl($params)
    {
        $url = parent::createUrl($params);
        $chunks=explode('/', $url);

        array_splice($chunks,3,0,"en");
        return implode('/',$chunks);
    }
}

现在当你调用

Yii::$app->urlManager->createUrl(['/controller/action']);

它会产生

http://example.com/en/controller/action

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

createURL和urlManager之间的Yii关系

来自分类Dev

其余yii2漂亮的url urlManager

来自分类Dev

Yii url使用urlManager重写url吗?

来自分类Dev

Not Found 在 Yii2 中使用 urlManager 手动添加了新页面?

来自分类Dev

urlManager配置中的Yii 2规范URL

来自分类Dev

yii2 createUrl正在复制路线

来自分类Dev

如何使用别名和$ _GET参数配置yii2 urlManager规则

来自分类Dev

如何在yii2中的多语言网站上设置urlmanager规则?

来自分类Dev

YII2:使用 YII2 将 javascript 函数添加到传单等值线地图时出错

来自分类Dev

在Yii2中配置urlManager规则

来自分类Dev

Yii2的urlManager规则,用于&& =

来自分类Dev

在Yii 2的UrlManager规则集中使用RegEx

来自分类Dev

在Yii 2的UrlManager规则集中使用RegEx

来自分类Dev

YII2使用Ajax提交表单会在URL中添加其他单词

来自分类Dev

YII urlManager用多个参数重写单一URL

来自分类Dev

yii2 urlManager enablePrettyUrl无法正常工作

来自分类Dev

yii2 urlManager enablePrettyUrl无法正常工作

来自分类Dev

调用未知方法:yii2中的yii \ web \ Application :: createUrl()

来自分类Dev

使用yii 1中的urlManager路由到特定操作

来自分类Dev

不使用setAlias的Yii2 Web URL

来自分类Dev

Yii2仅使用漂亮的URL进行访问

来自分类Dev

createUrl未以路径格式创建URL

来自分类Dev

yii urlmanager参数故障

来自分类Dev

使用jQuery multiselect将值添加到url哈希

来自分类Dev

使用URL将值添加到cookie

来自分类Dev

使用Emmet将URL添加到<a href="">

来自分类Dev

使用XSLT将URL添加到图像

来自分类Dev

使用URL将值添加到cookie

来自分类Dev

使用JavaScript将URL添加到href标签