Я только начинаю работать с 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>
в представлении для вывода получившегося сообщения
Конечно, я где-то ошибаюсь - кто-нибудь может объяснить, как?