在Moodle电子邮件中包含URL的最干净的方式


Cleanest way to include urls in Moodle emails

我想知道在Moodle模块发送的电子邮件中插入url的最干净的方法是什么。

到目前为止,我正在使用这个公式,IMHO认为这不是最干净的方法:

$url = $CFG->wwwroot.'/mod/<mymodulename>/view.php?id='.$cm->id;

我不喜欢这里的东西是:

  • 使用$CFG->wwwroot
  • /mod/<mymodulename>需要始终提供。(这里假设我使用的是常量而不是硬编码字符串)

我希望Moodle在提供模块脚本时能够提供开箱即用的功能。我尝试过moodle_url,但当以这种方式使用时,此函数不会提供php脚本的路径:

new moodle_url('view.php?id='.$cm->id);

我只得到:

view.php?id=XX

提前谢谢。

我会像这个一样做

$url = new moodle_url('/mod/<mymodulename>/view.php', array('id' => $cm->id));
echo html_writer::link($url, get_string('linktitle', 'mod_mymodulename'));

您可以使用以下语句:

这是文件的绝对路径

$url=new moodle_url($CFG->wwwroot.'/mod//view.php',数组('id'=>$cm->id));