2012-08-10 56 views
0

我遇到了一个问题,我无法解决。fuelphp html email issue

我看了看fuelphp文档,做这样的说法,但我得到通过walue错误

代码

$email_data = array(); 
//echo Config::get('base_url'). "user/activate/". $user['hash']; 
$email = Email::forge(); 
$email->from('[email protected]', 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:?> 

可以请别人给我一个提示什么即时做错了?

回答

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

应该

$email->html_body(\View::forge('email/activation', array('email_data' => $email_data))); 
+0

哦,我现在觉得有点笨,谢谢你的帮助 – Side 2012-08-11 08:12:12

+0

没问题。我已经完成的次数很容易被发现! – 2012-08-11 12:14:23

1

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

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

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

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