自定义authError消息类

时间:2013-12-12 12:53:59

标签: twitter-bootstrap cakephp

我正在寻找有关如何自定义authError消息类的建议(我正在使用Twitter Bootstrap,因此希望使用Bootstrap中的警报样式)。

在/Controller/AppController.php中我有以下代码段:

public function beforeFilter() {
  //Set custom authError message if user tries to access a controller when not logged in
  $this->Auth->authError = __('You are not authorized to view this page.');
}

生成此HTML(class =“message”):

<div id="authMessage" class="message"> You are not authorized to view this page.</div>

我想要输出的是这个HTML(class =“alert alert-danger”):

<div id="authMessage" class="alert alert-danger"> You are not authorized to view this page.</div>

非常感谢提前

3 个答案:

答案 0 :(得分:3)

可以通过AuthComponent::$flash属性配置与Auth组件相关的Flash消息。

可以在class密钥中配置params属性:

$this->Auth->flash['params']['class'] = 'alert alert-danger';

另见

答案 1 :(得分:0)

您需要做的就是创建一个这样的元素(将元素命名为authAlert):

<div id="authMessage" class="alert <?php echo $class; ?>"><?php echo $message; ?></div>

然后使用此元素显示这样的flash auth消息(在主布局中)

echo $this->Session->flash('authAlert', 'auth', array(class => 'alert-danger'));

链接到cookbok http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#displaying-auth-related-flash-messages

答案 2 :(得分:0)

在布局中尝试此操作

echo $this->Session->flash('flash', array('params'=>array('class'=>'alert alert-danger')));