0

我遇到了一个我无法解决的问题。

我查看了fuelphp文档,是这样做的,但是我得到了一个错误,传递了walue

代码

$email_data = array();
//echo Config::get('base_url'). "user/activate/". $user['hash'];
$email = Email::forge();
$email->from('my@email.me', Config::get('site_name'));
$email->to(Input::post('email'), Input::post('first_name') . " " . Input::post('last_name'));
$email->subject('Regisztráció');

$email_data['name'] = "Kedves " . Input::post('first_name'). " " .Input::post('last_name') ."<br><br>" ;
$email_data['title'] = "Üdvözöllek a ".Config::get('site_name')." oldalán" ."<br>";
$email_data['link'] = '<a href="'.Config::get('site_url'). "user/activate/". $user['hash'].'">Fiókod mherősítéséhez kérlek kattints ide</a>';

$email->html_body(\View::forge('email/activation', $email_data));
$email->send();

$response->body(json_encode(array(
'status' => 'ok',
)));

电子邮件模板文件

<?php 

print_r($email_data);
 ?>

电子邮件把这个发给我

Notice!

ErrorException [ Notice ]: Undefined variable: email_data

APPPATH/views/email/activation.php @ line 3:

2:3:print_r($email_data);4:?>

请有人给我一个提示我做错了什么?

4

2 回答 2

2
$email->html_body(\View::forge('email/activation', $email_data));

应该

$email->html_body(\View::forge('email/activation', array('email_data' => $email_data)));
于 2012-08-10T23:43:15.897 回答
1

你的控制器是正确的。这是您不正确的模板。

将数据传递给视图(模板)时,您将其作为数组传递。所以你认为应该是:

...
You Name is : <?php echo $name ?>
You title is : <?php echo $title ?>
...

这是它应该做的方式。不将数组转换为其他数组的元素以执行 print_r...

于 2014-02-14T22:57:16.873 回答