【问题标题】:Yii Making straight urls for accessing user pagesYii 制作用于访问用户页面的直接 url
【发布时间】:2014-03-11 15:01:39
【问题描述】:

现在在我的 Yii 应用程序中,我有以下用户页面访问 url。

mysite/users/view?username=123

加载用户控制器的视图文件。

我想要做的是简化这个网址

mysite/users/123

输入这个我想访问同一个页面。

这可能吗? 现在我的用户控制器视图操作在这里:

public function actionView($username){
    $model = User::model()->findByAttributes(array(
        "username" => $username
    ));
    if($model){
        $this->render("view", array(
            "model" => $model
        ));
    }
}

【问题讨论】:

    标签: php yii crud


    【解决方案1】:

    在 config/main.php 中的 urlManager 组件中

    'user/<username:\d+>' => 'user/view' // will need to change \d+ if not working with numbers only.
    

    这将改变 url 结构。进入是什么意思?

    【讨论】:

    • 没有。我不想更改网址。我想改变系统的工作方式。我希望系统在没有“视图”字样的情况下工作。所以如果我输入 mysite/users/123 我希望网站加载一些页面
    • 您的问题是要简化 URL。如果你想要一个 mysite/users/123 的 url,你需要配置 url manager。这会从 url 中删除“view?username=123”,但它仍然告诉 Yii 调用视图控制器方法
    • 这行得通,但问题是当我尝试使用面包屑链接“mysite/users/index”返回时,页面会在保持白色时重新加载。没有加载。
    • 编辑视图文件的面包屑部分,使其到达您需要的位置
    • 但这意味着默认操作链接将不起作用,我将不得不在我的代码中到处手动编辑它们:) 我的意思是控制器/索引。为什么在您提供此修改后索引失败?
    猜你喜欢
    • 1970-01-01
    • 2013-02-11
    • 2016-02-03
    • 2011-10-15
    • 2018-06-25
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多