Добавление пользовательского CSS в новое назначение Moodle - PullRequest
2 голосов
/ 04 февраля 2010

Я работаю над новым плагином Moodle Assignment. Как я могу включить пользовательский CSS в мой плагин? Я использую Moodle 1.9.7.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 23 июня 2010

просто добавьте файл с именем styles.php в папку модуля. файл должен выводить код CSS при его анализе.

Moodle входит в папку каждого модуля и ищет этот файл, когда создается CSS-макет страницы.

Некоторые темы могут игнорировать эти файлы, используя специальные настройки в файле config.php темы

$THEME->modsheets = true;

/// When this is enabled, then this theme will search for
/// files named "styles.php" inside all Activity modules and
/// include them.   This allows modules to provide some basic
/// layouts so they work out of the box.
/// It is HIGHLY recommended to leave this enabled.

Вот краткий пример содержимого этого styles.php файла:

/* simple CSS code */ 
.left { float:left; }

/* php that generate CSS code */
< ?php if ( right_to_left() ) {echo ".right:text-align:left;"} 
else {echo ".right:text-align:right;"} ?>
0 голосов
/ 17 марта 2010

Возможно, можно взглянуть на function print_header_simple(), определенный в lib/weblib.php.

Если вы пишете модуль, который генерирует специфичные для модуля страницы, и они используют обычные библиотеки Moodle, то добавьте что-то в $meta, чтобы добавить его в раздел <head> во время создания страницы.

in lib/weblib.php:

function print_header_simple($title='', $heading='', $navigation='', $focus='', $meta='', $cache=true, $button='&nbsp;', $menu='', $usexml=false, $bodytags='', $return=false) {

Это означает, что вы, вероятно, хотите что-то вроде следующего в вашем модуле:

$extra_css = $CFG->wwwroot.'/theme/SUPA4/supa_report.css';
$extra_css_meta = '<link rel="stylesheet" type="text/css" href="'.$extra_css.'" />';
print_header_simple($mytitle, "", $navigation, "", "", true, "", navmenu($course), '', $extra_css_meta);
...