tl; dr; Попытка связать кнопку «сохранить и вернуть» при редактировании/удалении курса на мои локальные плагины index.php вместо перенаправления перенаправления по умолчанию для этих функций, у moodle allready есть параметр запроса returnTo
, поэтому я думал, если это можно каким-то образом использовать.Moodle: использование параметра returnto query для перенаправления обратно в локальный индекс плагинов после редактирования курса
Эй
Я создаю локальный модуль, который имеет панель управления, где вы можете получить доступ к CR на все курсы в системе, как показаны на рисунке:
Сейчас проблема заключается в том, что когда я нажимаю «Редактировать», я, конечно, попадаю на страницу редактирования курса, но когда я вернусь оттуда, я нажимаю «Сохранить и возвращать». Я хотел бы вернуться к своей собственной странице администратора, а не к странице управления страницами или страницами курса.
код я прямо сейчас выглядит следующим образом:
//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» параметр запроса, обычно Мудл имеет «catmanage
», как «returnto
», который возвращает вас к страница управления категориями, где у moodle есть свой CRUD для категорий и курсов. Поэтому мой вопрос: могу ли я создать свой собственный псевдоним для ссылки и использовать его, как moodle использует ссылку catmanage
, но вместо моей страницы администратора.
Большое спасибо! :)
EDIT:
Изменить код на следующее:
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();
Но, похоже, Мудл забирали кнопку от редактирования курса под названием «сохранить и вернуться» в настоящее время он только «сохранить и дисплей»или„Отмена“, оба из которых возвращает меня к курсу, грустные раз :(
Спасибо за ответ! :) Я думаю, что это близко к работе, но это не совсем так, как хотелось бы, если у вас есть время, вы можете посмотреть мой отредактированный пост? – DenLilleMand
В вашем коде должно быть немного причуды, хотя я копировал/вставлял ваш фрагмент и работал (Moodle 3.1). – FMCorz
Argh okay. Я просто откладываю это на время :) Я убежден, что в какой-то момент я заработаю, спасибо за помощь: D! – DenLilleMand