我想知道在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));