CakePHP - 自定义消息

时间:2011-06-17 23:57:43

标签: cakephp message customization

有没有办法在我的模型代码中为我的消息设置布局?

这是我的模特:

var $validate = array(    
        'email' => array(        
        'rule' => array('email', true),        
        'message' => 'Please supply a valid email address.'
        )
    );

1 个答案:

答案 0 :(得分:2)

这可以通过CakePHP完成。但是,您的担忧混乱了。该模型用于数据收集,操作和按摩。数据的布局由View负责。在CakePHP中特别是Form Helper。

有关如何为数据验证消息指定自己的布局的详细信息,请查看:

http://book.cakephp.org/view/1639/options-inputDefaults

他们提供了一个非常好的代码示例,详细说明了如何执行此操作。

高度建议您仔细阅读整本书。它将证明是无价的。

编辑:在评论澄清之后回答

您可以创建element并将其放入app/views/elements。应该使用普通的Cake约定命名文件。我们选择flash_error

您可以将其设置为您想要显示的HTML。要确保显示您的消息,只需在适当的地方添加这个PHP位

<?php echo $message; ?>

这是第1步。

第2步是在$this->setFlash()调用中传递适当的参数。所以你的新调用看起来像我们上面命名的元素:

$this->setFlash($message, 'flash_error');

现在你的setFlash消息将使用步骤1中定义的布局。想要不同的布局吗?只需创建一个新元素并传递新元素名称即可。

setFlash()方法还有2个参数派上用场(特别是如果你想在同一页面上有多个flash()消息)。这本书的另一个链接:

http://book.cakephp.org/view/1313/setFlash