php - 我正在尝试使用电子邮件模板中的替换器替换文本 - PHP
问题描述
你好社区
我正在尝试使用数据库中的数据替换电子邮件模板中的文本。
这是我的代码,它%<$receiver>%
可以工作,但不能%<$sender>%
。
如果您知道我做错了什么或暗示我应该改变什么,我将不胜感激。
public static function getRowValue($type, $receiver, $sender, $job) {
$model = self::where('type', $type)->where('status', DEFAULT_TRUE)->first();
if ($model) {
$subject = $model->subject;
$page = "admin.templates.email.email";
$email = $receiver->email;
$model->content = html_entity_decode($model->content, ENT_COMPAT, 'UTF-8');
$sender_replaced = ($sender) ? str_replace('%<$sender>%',$sender->name, $model->content) : $model->content;
$receiver_replaced = ($receiver) ? str_replace('%<$receiver>%',$receiver->name,$sender_replaced) : $sender_replaced;
$job_replaced = ($job) ? str_replace('%<$job>%',$job->name,$receiver_replaced) : $receiver_replaced;
$message = $job_replaced;
$email_data = [];
$email_data['message'] = $message;
Helper::send_email($page,$subject,$email,$email_data);
return $model->message;
}
return "";
}
如果您需要其他信息,请随时询问,希望我的示例能帮助其他难以解决此问题的人。
<?= $email_data['message'] ?: "NO MESSAGE" ?></span></p>
行我如何在电子邮件模板中调用数据。
解决方案
这部分代码没有任何问题,我错过了控制器中的数据流逻辑,我正在拉出 $sender 并且它没有被用户接受。
我现在必须更改数据流逻辑才能使其正常工作。
感谢大家的帮助。
推荐阅读
- pandas - 使用 sqlalcheny 创建的表未显示在 Amazon RDS 中
- c++ - 问:如何使用 C++ 中的按钮从窗口打开窗口?
- microsoft-graph-api - 使用 Graph 修改 Exchange Online 发送连接器
- javascript - 删除嵌套数组的对象(Javascript)
- r - R:使用 mclapply 加载多个 RData 不起作用
- python - 使用 parallel=True 时如何防止 Numba 并行化特定循环?
- ios - 没有为 UIScrollView 中的 UITableView 调用 didSelectRowAt
- ios - 如何在 Swift 5 中将 HSB 转换为十六进制
- javascript - 无法附加图像
- javascript - 渲染从 API 返回的 JSON 对象数组