【发布时间】:2010-09-28 00:34:14
【问题描述】:
我刚刚开始使用 cakePHP,目前进展并不顺利。
我有一个控制器来处理确认用户电子邮件。注册时,用户会收到一封电子邮件,其中包含一个链接中的确认代码。根据他们给出的确认代码,控制器会给出不同的文本响应。其中一个响应包含用于登录的超链接。
我正在尝试使用 Html 帮助程序,但尽管我已将其加载到类顶部的 $helpers 中,但我只有在使用 App::import 并实例化它时才能使其工作。
简单地创建一个超链接似乎有点过头了!同一个类需要加载多少次?
无论我在网络上的哪个位置查看,它总是告诉我在控制器中使用帮助程序是个坏主意,但我应该如何获得链接?
所以我有
var $helpers = array('Html');
在控制器的顶部,并且:
if (isset($this->User->id)) { // Check the user's entered it right
// Do some stuff to remember the user has confirmed
// This is to load the html helper - supposedly bad form, but how else do I make the link?
App::import('Helper', 'Html');
$html = new HtmlHelper();
$this->set('message', __("Your email address has been confirmed.", TRUE)." ".$html->link(__("Please log in", TRUE), array('controller' => "users", 'action' => "login" )));
} else {
$this->set('message', __("Please check your mail for the correct URL to confirm your account", TRUE));
}
在控制器的确认方法中和
<div>
<?php echo $message;?>
</div>
在视图中输出结果消息
我肯定在某个地方出错了 - 谁能解释一下是怎么回事?
【问题讨论】:
标签: cakephp controller