php Moodle电子邮件模板

3wabscal  于 2023-04-19  发布在  PHP
关注(0)|答案(3)|浏览(176)

我正在开发一个基于Moodle的学习管理系统。我想为每封电子邮件添加一个电子邮件页眉和页脚。
我在Moodle中做了一些更改,在./lib/moodlelib.php中添加了一个图像,如下所示:

function email_to_user($user, $from, $subject, $messagetext, $messagehtml = '', $attachment = '', $attachname = '',
                       $usetrueaddress = true, $replyto = '', $replytoname = '', $wordwrapwidth = 79) {

    global $CFG, $PAGE, $SITE;
    // Append image at top
    if($messagehtml){
        $tmp = $messagehtml;

       // Added image here
       $messagehtml = '<img src="'.$CFG->wwwroot.'/images/logo.png" alt="LMS" /><br/>';

       // $messagehtml = $image;
        $messagehtml .= $tmp;
    }
    if($messagetext){
        $tmp = $messagetext;
        // Added image here
        $messagetext = '<img src="'.$CFG->wwwroot.'/images/logo.png" alt="LMS" /><br/>';
       // $messagehtml = $image;
        $messagetext .= $tmp;
    }   
  ....................

但我想作为固定模板的页眉和页脚。请帮助我。

qc6wkl3g

qc6wkl3g1#

您可以在language file中创建一个消息头(直接在/lang/en下或在插件中使用英语),然后在语言文件中添加以下字符串:

$string ['message_header'] = '<p> write here whatever your style and HTML structure you want in your header</p>
adding your image as well <img src="'.$CFG->wwwroot.'/images/logo.png" alt="LMS" />';

然后你也可以为你的页脚写一个字符串:

$string ['message_footer'] = 'Your HTML footer here';

最后,你可以在消息中插入你的字符串:

$message = 'here your body';

// insert message header - if your language string is in /lang/moodle.php:

$message = get_string ( 'message_header') . $message;

// insert message footer - if your language string is in your /local/myplugin:

$message .= get_string ( 'message_footer', 'local_my_plugin' );

这样,如果您直接在语言文件中(或在DB中,参见here)更改页眉和页脚,则可以随意定制它们。

jk9hmnmh

jk9hmnmh2#

有点晚了,但希望能帮助到其他人:https://docs.moodle.org/dev/Themed_emails只需在/var/www/html/moodle/lib/templates中查找电子邮件模板。名称为email_html.mustache的模板应该是正确的。

tpgth1q7

tpgth1q73#

或者,您可以使用Moodle Dev Template Documentation中指定的pix关键字。
使用此功能,您可以通过主题文件夹(theme/yourtheme/pix/logo.png)或其他模块(如核心等)上传图像。
使用自定义主题boost的示例:

{{#pix}} logo, theme_yourtheme, Alt Text {{/pix}}

使用核心模块的示例:

{{#pix}} logo, core, Alt Text {{/pix}}

**注意:**模板可在lib/templates文件夹中找到,例如:

相关问题