2017-04-22 26 views
0

私はMoodleの学習管理システムを構築しています。私は電子メールヘッダーとフッターを各電子メールに追加したいと思います。Moodleの電子メールテンプレート

私は次のように./lib/moodlelib.phpに画像を追加するためのMoodleの何らかの変化をした:

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

が、私は、固定されたテンプレートとして、ヘッダーとフッターをしたいです。私を助けてください。

答えて

3

あなたは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を参照してください)。

関連する問題