简体   繁体   English

我正在尝试使用电子邮件模板中的替换器替换文本 - PHP

[英]I am trying to replace text using replacers in email template - PHP

Hello Community你好社区

I am trying to replace text in email templates using data from database.我正在尝试使用数据库中的数据替换电子邮件模板中的文本。

This is my code where %<$receiver>% works and %<$sender>% doesnt.这是我的代码,其中%<$receiver>%有效而%<$sender>%无效。

If you have any knowledge what im doing wrong or hints what i should change i would appreciate it.如果您知道我做错了什么或提示我应该改变什么,我将不胜感激。

  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 "";
}

If you need additional informations please feel free to ask, hope my example will help someone else who is having hard time solving this issue.如果您需要其他信息,请随时提问,希望我的示例能帮助其他难以解决此问题的人。

<?= $email_data['message'] ?: "NO MESSAGE" ?></span></p>

Line how i call data in email template.行我如何在电子邮件模板中调用数据。

There was nothing wrong with this part of code, ive missed data flow logic in controllers where i was pulling out $sender and it hasnt been accepted by user.这部分代码没有任何问题,我错过了控制器中的数据流逻辑,我在那里拉出 $sender 并且它没有被用户接受。

I have to change data flow logic now to make it work.我现在必须更改数据流逻辑才能使其工作。

Thanks all on help.感谢大家的帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM