Yii如何在模型中使用Id呈现用户页面,但在URL中使用用户名而不是ID

大卫

我有用户页面。在索引视图中,它们都具有ID的超链接,因此它们正在将ID发送给模型。当您按链接时,将加载用户视图,URL变为

/site/users/1

但是我想要的是URL不是用户ID,而是用户Username,例如

/site/users/Alex

我该怎么做 ?这是我的_view

<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>

控制器

public function actionView($id)
{
    $this->render('view',array(
        'model'=>$this->loadModel($id),
    ));
}
Jagjot

您将需要修改以下文件:-

main.php(配置)

"urlManager" => array(
    "rules" => array(
        "/site/users/<name:[\w\_]>" => "/site/users/view",
        //All the other rules here...
    )
)

控制器

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

不论您在哪里放置链接,都按如下所示进行链接:-

<?php echo CHtml::link(CHtml::encode($data->id), array("view", "name" => $data->username)); ?>

更新 :-

尝试使用以下语法:

<?php echo Chtml::link(CHtml::encode($data->id), $this->createUrl('view', array('name'=>$model->username))); ?>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在laravel中使用用户名登录

如何在Django Restfull API中使用用户名和ID创建存储文件夹

如何在Django项目中的Facebook和Twitter之类的URL中使用用户名?

Django基于类的视图:如何使用用户名而不是ID从扩展模型中获取数据

如何在PowerShell控制台中使用用户名和密码使用wget

在设计中使用用户名进行用户注册

如何在这句话中使用Ruby Regex解析用户名,ID或整个部分?

如何在SQL数据库中使用ID获取用户名?

如何在终端的一行中使用用户名和密码运行openconnect?

如何在Axios中使用用户名和密码访问数据库

如何在Django中使用用户名填充字段?

如何在所有php文件中使用用于登录的用户名

如何使用 xlwt 显示用户名而不是用户 ID

如何在表AuthAssignment Yii Framework中使用用户ID更新itemname列

如何在codeigniter视图页面中使用用户ID打印(获取)user_name

从LookBack使用用户ID检索用户名

我可以在wordpress中使用用户名代替用户ID,而忽略wp_users表吗?

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

避免在 HFS 文件路径中使用用户名

在Sylius中使用用户名连接

如何在django 2.0的detailview中使用<用户名>

Tweepy 使用用户名查找 ID

如何在MVC身份中使用“用户名”而不是“电子邮件”登录?

在 Django Rest Framework 中使用用户名作为 url

使用用户名而不是ID从2个表中检索数据

如何使用Java在SOAP UI中使用用户名和密码发送SOAP请求

如何在Java客户端中使用用户名和密码(无SSL)连接到Elasticsearch?

预测在Recommendationerlab中使用用户ID

对ID使用ID和用户名(路由模型绑定)