2015-05-23 8 views
0

Замечательно, что позволяет использовать определенный курс, используя тему, отличную от остальной части сайта. Но теперь, когда кто-то получает ссылку на контент в рамках курса с определенным набором тем, Moodle сначала перенаправляет его на страницу входа в глобальную тему, а затем перенаправляет его на курс с определенной темой. И это изменение тем не очень удобно. Я хотел бы иметь эту страницу входа в глобальную тему.Moodle индивидуальная страница входа для определенного курса

После исследования я выяснил, что нет никакого решения, и что мне нужно будет настроить код.

Я думаю, что возможное решение - использовать $SESSION->wantsurl, определить, когда URL-адрес направляется к курсу с определенной темой, а затем обслуживает другую страницу входа.

Но проблема в недостатке документации, я действительно не могу найти эти понятия объясненными. Я не знаю, в каком файле внутри файлов Moodle я должен добавить это исключение, где поставить и как дублировать новую страницу входа. Думаю, я мог бы написать код в php.

Moodle версия 2.8.3.

Спасибо, если вы можете предоставить мне какие-либо рекомендации и рекомендации по решению этой проблемы.

ответ

1

Вы можете обойтись, добавив требуемую тему к URL.

Сначала добавьте это к вашему config.php

$CFG->allowthemechangeonurl = true; 

Затем добавьте в любую ссылку

http://www.yourmoodlesite.com/?theme=yourthemename

Для справки:

https://docs.moodle.org/28/en/Theme_settings#Allow_theme_changes_in_the_URL

UPDATE: вы совместно uld использовать это перед любым выходом.

$PAGE->force_theme($themename); 

Тогда, как вы говорите, проверьте $ session-> wantsurl, чтобы увидеть, если его страница курса затем получить тему курса.

+0

Я думаю, что это не решение. Во-первых, существует так много ссылок, которые пользователь может получить, и я не уверен, как добавить это к каждой ссылке внутри конкретного курса ... Еще одна проблема заключается в том, что пользователь должен иметь привилегии для изменения темы, а изменение темы постоянны. Таким образом, основная тема будет изменена. – balboa

+1

Обновлено ответ –

+0

Благодарим вас за ответ. Мне нравится это решение в обновлении ... Но я не уверен, как его реализовать. Можете ли вы сказать мне, в каком файле я должен поместить этот код. Я попытался включить его в \ themename \ layout \ login.php, но он вызывает у меня ошибку: «Обнаружена ошибка кодирования, она должна быть исправлена ​​программистом: тема уже настроена для этой страницы, готовой для вывода. , вы больше не можете изменять тему или что-то, что может повлиять на текущую тему, например, курс ». – balboa

Смежные вопросы