【问题标题】:Cleanest way to include urls in Moodle emails在 Moodle 电子邮件中包含网址的最简洁方法
【发布时间】:2013-11-22 12:42:23
【问题描述】:

我想知道在 Moodle 模块发送的电子邮件中插入 url 的最简洁方式。

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

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

我不喜欢这里的东西是:

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

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

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

我刚刚得到:

view.php?id=XX

提前致谢。

【问题讨论】:

  • 试试new moodle_url('/view.php?id='.$cm-&gt;id);

标签: php email moodle


【解决方案1】:

我会这样做

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

【讨论】:

  • 这种方法很干净。在理想的世界中,我希望不提供 Moodle 的模块路径。谢谢!
  • 哦,如果你有模块,你可以使用 html_writer::link($cm->get_url(), format_string($cm->name, true));
  • 这就是我要找的。再次感谢拉塞尔。
【解决方案2】:

您可以使用以下语句:

这是文件的绝对路径

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多