1

我在 cakephp 环境中创建了一个应用程序,我在用户配置文件页面中使用 user_id 显示用户配置文件

我使用如下锚标记将值发送到控制器:(我无法发送名称,因为它不是唯一的)。

<a href="/users/<?php echo $result['user']['id'];?>">View Profile</a>

用户控制器中的功能:

function viewprofile($userid){
 // my logic
}

个人资料网址是这样的: http ://www.xyz.com/users/12

我想显示用户名而不是 user_id

我们如何在 cakephp 的 url 中显示名称(带有 slug)

请帮我

4

3 回答 3

1

你必须做三件事。

  1. 创建独特的 User Slugs(你可能已经有了 ;-))

  2. 使用前面提到的代码 Dave 创建链接

    echo $this->Html->link('View Profile', array('controller' => 'users','action'=> 'view',$result['user']['slug']));

  3. 告诉你的路由用它做什么(/app/condig/routes.php)

    Router::connect('/user/*', array('controller' => 'users', 'action' => 'view'));

现在您将获得漂亮的 url,并且 slug 将是一个参数,可用于在您的用户表中查找用户

于 2012-08-22T23:25:13.213 回答
1
echo $this->Html->link('View Profile', array(
    'controller' => 'users',
    'action'=> 'view',
    $result['user']['slug']
));
于 2012-08-10T21:22:08.253 回答
0

试试这个代码

echo $this->Html->link('View Profile',array('plugin' => false,
                                            'controller' => 'users',
                                            'action' => 'view',
                                            "slug"=>$data['slug']));

在您的 Routes 文件中

Router::connectNamed(array('slug'));
    Router::connect('/user/:slug', array(
        'plugin' => false,
        'controller' => 'users', 
        'action' => 'view',
        ),array(
            "pass"=>array("slug")
        )
    );
于 2013-03-02T10:45:47.617 回答