如何在 moodle 插件中使用 css 和 js 文件

How to work with css and js files in moodle plugin

我需要为 Moodle 开发一个插件,我需要在插件中包含一些 js 和 css 文件。但我有下一个问题 - 如何从已安装的插件中​​使用它们?当然,我可以将他们的路径硬编码到 moodle 结构,但这是一种非常肮脏和糟糕的方式。另外,我知道我可以将所有 js 和 css 代码内联,但我认为这也是一个错误的决定。是否有内置方式从插件提供资产?我试图在文档中找到它,但一无所获。

谢谢

我假设您想知道如何将 CSS 和 JS 文件包含到您的插件中。 您可以通过以下命令包含 JS 文件:

$PAGE->requires->js( /relative/path/your_script.js');

您可以在页面下载完成后使用以下命令调用 JS 函数:

$PAGE->requires->js_init_call ( your_JS_function_name, array_of_parameters_here, bool: on DOM ready);

例如:

$PAGE->requires->js_init_call('init', array($USER->lang), true);

请务必先让 global $PAGE; 可以使用 $PAGE。

您的 CSS 文件可以命名为 styles.css 并放入您的插件的根文件夹中。该文件将被系统自动读取并包含在内。它将优先于(将覆盖其设置)系统 CSS 文件。之后你将不得不重新加载主题缓存。