【问题标题】:How to add javascript to all pages in silverstripe cms via a module?如何通过模块将 javascript 添加到 silverstripe cms 中的所有页面?
【发布时间】:2020-07-09 06:26:51
【问题描述】:

我正在尝试为 silverstripe 创建一个模块。我正在通过https://docs.silverstripe.org/en/4/developer_guides/templates/requirements/#requirements了解如何将javascript和css文件添加到前端页面。

我无法弄清楚当用户安装我的模块时如何将 javascript 文件添加到所有 cms 页面。我可以在那里扩展和指定一个类吗?还是可以通过某种方式使用配置来完成?

【问题讨论】:

    标签: javascript php silverstripe silverstripe-4


    【解决方案1】:

    创建一个继承SilverStripe\Core\Extension 的类,然后使用config YML file 将其应用于\PageController

    然后您的Extension 类可以实现onAfterInit() 以使用Requirements API

    【讨论】:

      【解决方案2】:

      我们可以通过将以下内容添加到 .yml 文件中来做到这一点:

      SilverStripe\Admin\LeftAndMain:
        extra_requirements_javascript:
          - your-namespace/your-module-name:javascript/file.js
      

      【讨论】:

        【解决方案3】:

        3dgoo 和 alt 的答案都是正确的,具体取决于您的用例。

        如果您想将 Javascript 添加到所有前端“页面”(访问者在导航到您的网站时看到的内容 *在大多数情况下),那么您需要关注 ant's example .

        否则,如果您想将 Javascript 添加到您网站的 /admin 部分, 这样 CMS 管理员就会受到您的脚本的影响,那么您需要关注 3dgoo's example

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-11
          • 1970-01-01
          • 2014-05-08
          • 1970-01-01
          • 2015-09-05
          • 2012-05-10
          • 1970-01-01
          相关资源
          最近更新 更多