如何覆盖自定义主题的 LMS 静态 JS 视图

how to override LMS static JS views for custom theme

我正在尝试修改 OpenEDX lms 默认的以下文件。

account_settings_factory_spec.js

account_settings_view.js

但是在重新运行摊铺机时,文件没有改变。是否真的可以覆盖主题中的 JS?我的最终目标是删除帐户部分中的选项卡以及编辑其他信息。

任何有助于达成解决方案的帮助都将不胜感激!

谢谢。

是否真的可以覆盖主题中的JS?

yes, tricky

从原始文件和 edit/modified "account_settings_view.js" 和 "account_settings_factory.js" 复制并粘贴到您的主题文件夹

/edx/app/edxapp/themes/my_theme/lms/static/js/student_account/views/account_settings_view.js /edx/app/edxapp/themes/my_theme/lms/static/js/student_account/views/account_settings_factory.js

并复制(从原始文件)并粘贴 "account_settings.html" 到您的主题文件夹

/edx/app/edxapp/themes/my_theme/lms/templates/student_account/account_settings.html

然后找到这一行并编辑,这个路径应该是你的主题JS路径。检查您的自定义 CSS 或 JS 在 header 中的链接方式(见下图,"payne" 是我的主题名称)。

<%static:require_module module_name="YOUR_THEME/js/student_account/views/account_settings_factory" class_name="AccountSettingsFactory">

我刚刚在这里更改,您可以在下面看到。刚刚添加了 "xxxx" 这里我使用了 Docker devstack。