0
我是cakephp 3.0的新手,嘗試讓我的頭部繞過整個auth組件,我試圖在我的模板中使用允許我登錄的按鈕,但是一旦用戶登錄,它就會顯示登出。CakePHP登錄按鈕
這是我目前的HTML代碼
<li><a href="#"><i class="fa fa-user"></i> Login</a></li>
我曾試着撥打AuthComponent::user()
檢查,如果用戶已經登錄,但得到一個錯誤,所以我做了一些進一步researcha,發現這樣做的這種方式,不知道它的正確與否:
<?php
if($this->request->session()->read('Auth.User.id')){
echo $this->Html->link(
$this->Html->tag('i', '', array('class' => 'fa fa-lock')) . " logout",
array('action' => 'logout'),
array('escape' => false),
array('controller' => 'users')
);
}else{
echo $this->Html->link(
$this->Html->tag('i', '', array('class' => 'fa fa-lock')) . " login",
array('action' => 'login'),
array('escape' => false),
array('controller' => 'users')
);
}
?>
但是我有2個問題。
- 登錄不更改註銷一次登錄。
- 它劑量不會去到正確的控制器,找到登錄或註銷的功能(沒有找到用戶控制器的鏈接,試圖移動它上面的動作,節選這打破標籤代碼
任何幫助,將不勝感激。
問候 的Syn
[更新 - 工作代碼]
嗨,我現在已經工作的代碼,但是我需要弄清楚如何引導圖標添加到按鈕,任何人都知道如何做到這一點?
我的工作代碼:
<?php
if($this->request->session()->read('Auth.User')) {
// user is logged in, show logout..user menu etc
echo $this->Html->link('Logout', array('controller'=>'users', 'action'=>'logout'));
} else {
// the user is not logged in
echo $this->Html->link('Login', array('controller'=>'users', 'action'=>'login'));
}
?>
嗨,這個問題是沒有這麼多的類,它的加入關閉進入鏈接,任何想法我可以做到這一點? – Syn
@Syn我更新了,去''span class =「fa fa-user」aria-hidden =「true」>',用'escapeTitle'=> false,'參數 – Blag
我認爲問題是事實上,它的鏈接標記,它將其作爲文本值而不是將其添加爲標記,因爲當我這樣做時會發生什麼,它會顯示或span,作爲按鈕內的文本。 – Syn