tl;博士; 尝试在编辑/删除课程时将“保存并返回”按钮链接到我的本地插件 index.php 而不是这些功能的moodles 默认重定向,moodle 已经有一个returnTo
查询参数,所以我在想是否可以以某种方式使用它。
嘿
我正在创建一个具有管理面板的本地插件,您可以在其中访问系统中所有课程的 CRUD,如下图所示:
现在的问题是,每当我点击编辑时,我当然会进入课程编辑页面,但是当我从那里返回时,我点击“保存并返回”我想回到我自己的管理页面而不是课程页面或类别管理页面。
我现在的代码如下所示:
//edit
$edit_course_moodle_url = new moodle_url('/course/edit.php', array('id' => $course->id, 'returnto' => 'local/adminpanel/index.php'));
$edit_course_url = $edit_course_moodle_url->get_path() . '?id=' . $edit_course_moodle_url->get_param('id') . '&returnto=' . $edit_course_moodle_url->get_param('returnto');
//delete
$delete_course_moodle_url = new moodle_url('/course/delete.php', array('id' => $course->id, 'returnto' => 'local/adminpanel/index.php'));
$delete_course_url = $delete_course_moodle_url->get_path() . '?id=' . $delete_course_moodle_url->get_param('id') . '&returnto=' . $delete_course_moodle_url->get_param('returnto');
如您所见,我使用“returnto”查询参数,通常moodle有一个“ catmanage
”作为“ returnto
”,它会将您返回到类别管理页面,其中moodle有自己的类别和课程的CRUD。所以我的问题是,我可以为链接创建自己的别名并像moodle那样使用它吗?catmanage
链接一样,而是用于我的管理页面。
非常感谢 !:)
编辑:
将代码更改为以下内容:
if (empty($CFG->loginhttps)) {
$securewwwroot = $CFG->wwwroot;
} else {
$securewwwroot = str_replace('http:','https:',$CFG->wwwroot);
}
$returnurl = new moodle_url($securewwwroot . '/local/adminpanel/index.php');
$edit_course_moodle_url = new moodle_url($securewwwroot . '/course/edit.php', array(
'id' => $course->id,
'sesskey' => sesskey(),
'returnto' => 'url',
'returnurl' => $returnurl->out(false))
);
$edit_course_url = $edit_course_moodle_url->out();
但是看起来moodle从编辑课程中删除了名为“保存并返回”的按钮,现在它只有“保存和显示”或“取消”,这两个都让我回到了课程,悲伤的时光:(