Как добавить javascript ко всем страницам в cms silverstripe через модуль? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь создать модуль для silverstripe. Я просматриваю https://docs.silverstripe.org/en/4/developer_guides/templates/requirements/#requirements, чтобы понять, как добавить файлы javascript и css на страницы переднего плана.

Я не могу понять, как добавить файл javascript на все cms-страницы, когда пользователь устанавливает мой модуль. Есть ли класс, который я могу расширить и указать там? Или это можно как-то сделать с помощью конфига?

Ответы [ 3 ]

3 голосов
/ 09 июля 2020

Создайте класс, который наследует SilverStripe\Core\Extension, а затем примените его к \PageController с помощью файла конфигурации YML

Ваш Extension класс может реализовать onAfterInit() для использования Requirements API

1 голос
/ 10 июля 2020

Мы можем сделать это, добавив в файл .yml следующее:

SilverStripe\Admin\LeftAndMain:
  extra_requirements_javascript:
    - your-namespace/your-module-name:javascript/file.js
0 голосов
/ 10 июля 2020

Ответы как 3dgoo, так и alt являются правильными, в зависимости от вашего варианта использования.

Если вы хотите добавить Javascript на все ваши «страницы» (что видят посетители при переходе к вашим веб-сайт * в большинстве случаев ), тогда вы захотите последовать примеру муравья .

В противном случае, если вы хотите добавить Javascript в свой / admin раздел вашего веб-сайта, чтобы ваш скрипт повлиял на администраторов CMS, тогда вы захотите последовать примеру 3dgoo .

...