2012-08-10 55 views
1

我在CakePHP的環境中創建一個應用程序, 我使用顯示USER_ID用戶的個人資料頁如何在url中顯示名稱而不是在Cakephp中的id?

我送價值使用錨標記像下面控制器的用戶配置文件: (我不能發送名稱因爲它不是唯一的)。

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

功能在用戶控制器:

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

的個人資料網址是這樣的: http://www.xyz.com/users/12

我想顯示的用戶,而不是user_id說明

我們怎樣才能顯示的名稱名稱(帶slu in)在cakephp的url中

請幫我

+0

您的問題很混亂 - 我盡我所能回答,但很難說出自己反駁自己以後要問什麼至少兩次。 – Dave 2012-08-10 21:23:37

+0

嗨Dave: Actully在我的用戶表中有user_id,用戶名,地址...等 我使用user_id獲取用戶的記錄,以便將user_id傳遞給控制器​​。在cakephp中傳遞的值顯示在url中,我上面已經提到過。 現在我只想顯示用戶的姓名不是ID – vin 2012-08-10 21:25:14

+0

k - 所以顯示名稱。我仍然不知道你在問什麼 – Dave 2012-08-10 22:18:43

回答

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

你必須做3件事。

  1. 創建獨特的用戶蛞蝓(您可能已經;-))

  2. 與戴維

    之前提到的代碼

    回聲$這個 - > HTML的「鏈接,創建鏈接(」 View'Profile',array('controller'=>'users','action'=>'view',$ result ['user'] ['slug']));

  3. 路由器連接::( '/用戶/ *',陣列( '控制器'=> '用戶' 告訴你的路由做什麼(/app/condig/routes.php) 'action'=>'view'));現在

,你會得到相當的URL和蛞蝓將可用於查找用戶在用戶表

0

試試這個代碼

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

而在你的路由參數文件

Router::connectNamed(array('slug')); 
    Router::connect('/user/:slug', array(
     'plugin' => false, 
     'controller' => 'users', 
     'action' => 'view', 
     ),array(
      "pass"=>array("slug") 
     ) 
    ); 
相關問題