如何通过模块将 javascript 添加到 silverstripe cms 中的所有页面?
How to add javascript to all pages in silverstripe cms via a module?
我正在尝试为 silverstripe 创建一个模块。我正在通过 https://docs.silverstripe.org/en/4/developer_guides/templates/requirements/#requirements 了解如何将 javascript 和 css 文件添加到前端页面。
我无法弄清楚的是如何在用户安装我的模块时将 javascript 文件添加到所有 cms 页面。我可以在那里扩展和指定 class 吗?还是可以通过某种方式使用配置来完成?
创建一个 class 子class 是 SilverStripe\Core\Extension
,然后使用 config YML file
将其应用于 \PageController
然后您的 Extension
class 可以实施 onAfterInit()
以使用 Requirements
API
我们可以通过将以下内容添加到 .yml 文件来完成此操作:
SilverStripe\Admin\LeftAndMain:
extra_requirements_javascript:
- your-namespace/your-module-name:javascript/file.js
3dgoo 和 alt 的答案都是正确的,具体取决于您的用例。
如果您想将 Javascript 添加到所有前置“页面”(访问者在访问您的网站时看到的内容 *在大多数情况下),那么你会想要关注 .
否则,如果您想将 Javascript 添加到您网站的 /admin 部分,
这样 CMS 管理员就会受到您的脚本的影响,那么您将需要关注 .
我正在尝试为 silverstripe 创建一个模块。我正在通过 https://docs.silverstripe.org/en/4/developer_guides/templates/requirements/#requirements 了解如何将 javascript 和 css 文件添加到前端页面。
我无法弄清楚的是如何在用户安装我的模块时将 javascript 文件添加到所有 cms 页面。我可以在那里扩展和指定 class 吗?还是可以通过某种方式使用配置来完成?
创建一个 class 子class 是 SilverStripe\Core\Extension
,然后使用 config YML file
\PageController
然后您的 Extension
class 可以实施 onAfterInit()
以使用 Requirements
API
我们可以通过将以下内容添加到 .yml 文件来完成此操作:
SilverStripe\Admin\LeftAndMain:
extra_requirements_javascript:
- your-namespace/your-module-name:javascript/file.js
3dgoo 和 alt 的答案都是正确的,具体取决于您的用例。
如果您想将 Javascript 添加到所有前置“页面”(访问者在访问您的网站时看到的内容 *在大多数情况下),那么你会想要关注
否则,如果您想将 Javascript 添加到您网站的 /admin 部分,
这样 CMS 管理员就会受到您的脚本的影响,那么您将需要关注