2012-08-03 84 views
0

無法讓我的腦袋圍繞如何做到這一點。我想要在佈局導航(layout/default.ctp)中設置「修改您的帳戶」鏈接。我想給登錄用戶的訪問權限,只編輯那裏的細節(我也會在控制器中處理這個以檢查它當前登錄的用戶)。但是我如何在佈局中做到這一點?佈局中的CakePHP html助手鍊接

我嘗試這樣做,失敗:

<?php echo $this->Html->link('Your Account', array('controller' => 'users', 'action' => 'edit', $this->Auth->users('id')));?> 
+0

「失敗」是什麼意思?怎麼了? – pleasedontbelong 2012-08-03 15:22:25

+0

對不起,我應該說 - 這是我得到: 助手類AuthHelper無法找到。 錯誤:發生內部錯誤。 – 2012-08-03 15:25:56

回答

0

對不起,我已經過複雜的事情。爲了解決這個問題我在佈局中寫道的:

<?php echo $this->Html->link('Your Account', array('controller' => 'users', 'action' => 'edit'));?> 

和編輯功能在用戶控制器通過ID這樣

$id = $this->Auth->user('id'); 
$this->User->id = $id; 

希望這可以幫助別人。

0

沒有核心授權助手。如果那是你自己的,你需要讓它在你的應用程序控制器全局可用:

public $helpers = array('Auth'); 
+0

對不起,我沒有足夠清楚 - 在控制器中,我可以使用$ this-> Auth-> users('id')作爲我;使用Auth組件,我怎樣才能將鏈接添加到佈局中,使當前登錄用戶可以編輯他們的詳細信息? – 2012-08-03 15:31:28

+0

你可以使用'$ this-> Session-> read('Auth.User.id')'。但通常在這種情況下,你不會傳遞id。使用會話,您可以在不傳遞任何參數的情況下進行編輯操作。 – mark 2012-08-03 17:41:57