【问题标题】:Adding custom CSS into a new Moodle assignment将自定义 CSS 添加到新的 Moodle 任务中
【发布时间】:2010-02-04 17:46:29
【问题描述】:

我正在开发一个新的 Moodle 分配插件。 如何在我的插件中包含自定义 CSS? 我正在使用 Moodle 1.9.7。

提前致谢。

【问题讨论】:

    标签: css plugins variable-assignment moodle


    【解决方案1】:

    只需将名为 styles.php 的文件添加到模块的文件夹中。 该文件在解析时应该输出 CSS 代码。

    当页面的 CSS 布局构建时,Moodle 会进入每个模块的文件夹并查找该文件。

    某些主题可以使用主题的 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;"} ?>
    

    【讨论】:

    • 谢谢。拥有一个 .php 样式文件对我来说听起来像是异端邪说,但 Moodle 就是这样做的,我们需要忍受它。
    • 好吧,这只是为了方便php程序员生成CSS代码。可以为不同的语言(RTL 或 LTR)输出不同的 CSS 代码。最终,所有这些文件都被收集到一个文件中,并且 mime 类型设置为“text/css”。所以浏览器最初并不知道它是一个 php 文件。我认为这有点好:-)
    • 你也可以在你的块/模块目录中包含一个 style.css,Moodle 应该能够检测到并提取它。
    【解决方案2】:

    或许可以看看lib/weblib.php中定义的function print_header_simple()

    如果您正在编写一个生成模块特定页面的模块,并且他们使用普通的 moodle 库,那么在生成页面时将一些内容添加到 $meta 以添加到 &lt;head&gt; 部分。

    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);
    

    【讨论】:

      猜你喜欢
      • 2013-08-02
      • 1970-01-01
      • 2023-03-22
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      相关资源
      最近更新 更多