Я пишу так называемый «плагин формата» для Moodle. Вывод этого плагина должен быть стилями с использованием CSS, хранящегося в файле styles.css, который является частью плагина. К сожалению, изменения не обновляются на экране из-за строгого кэширования. Включив «Режим разработки темы» («Администратор сайта»> «Внешний вид»> «Настройки темы»), этого можно избежать, но Moodle станет невероятно медленным - слишком медленным, чтобы работать с ним.
Другие типы плагинов, такие как «плагины активности», позволяют настраивать такие определения, как
$PAGE->requires->css( '/path/to/my/custom.css');
и команда для записи заголовка HTML echo $OUTPUT->header();
. Однако это не работает для плагинов формата. Moodle жалуется на ошибку: «Не удается запросить файл CSS после печати».
Загрузка CSS во время выполнения с использованием вызовов AMD / Javascript, без эффекта:
var link;
for(var i=0; i< css.length;i++){
link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = css[i];
document.getElementsByTagName("head")[0].appendChild(link);
}
Теперь я ищу альтернативный способ внедрения <link href="/path/to/my/custom.css">
в HTML с использованием PHP.