我遇到了一个我无法解决的问题。
我看了一下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:?>
可以请某人给我一个暗示我做错了什么?
答案 0 :(得分:2)
$email->html_body(\View::forge('email/activation', $email_data));
应该是
$email->html_body(\View::forge('email/activation', array('email_data' => $email_data)));
答案 1 :(得分:1)
你的控制器是正确的。这是你不正确的模板。
将数据传递给视图(模板)时,将其作为数组传递。 所以你认为应该是:
...
You Name is : <?php echo $name ?>
You title is : <?php echo $title ?>
...
这是它应该做的方式。不将数组转换为其他数组的元素以执行print_r ...