У нас есть модуль шаблонов, который мы включаем во все ваши сборки SilverStripe. Мы пытаемся добавить новый класс в нашу настроенную конфигурацию WYSIWYG.
Странно то, что у нас есть модуль, посвященный этому, но как только мы переместим эту конфигурацию из этого модуля и в новый модуль, конфигурация отражает только пару изменений и не все.
Пример:
wysiwygboilerplate/_config.php
название компании-шаблон/_config.php
В первом примере показана правильная конфигурация wysiwyg. Когда этот же код перемещается в новое местоположение "имя_компьютера-шаблона/", он перестает функционировать.
Это фрагмент кода, с которым я работаю. (единственное обновление - это путь к контенту css)
//-------------------------------------------- WYSIWYG config
$defaultEditorConfig = HtmlEditorConfig::get('cms');
$defaultEditorConfig->setOptions(
array(
'theme' => 'advanced',
'priority' => 1,
'browser_spellcheck' => true,
'body_class' => 'wysiwyg',
'content_css' => '/companyname-boilerplate/styles/wysiwyg.css',
'schema' => 'html5',
'extended_valid_elements' => 'figure,figcaption',
'end_container_on_empty_block' => true,
'style_formats' => array(
array(
'title' => 'H1',
'block' => 'h1'
),
array(
'title' => 'H2',
'block' => 'h2'
),
array(
'title' => 'H3',
'block' => 'h3'
),
array(
'title' => 'H4',
'block' => 'h4'
),
array(
'title' => 'H5',
'block' => 'h5'
),
array(
'title' => 'Paragraph',
'block' => 'p'
),
array(
'title' => 'Blockquote',
'block' => 'blockquote',
'wrapper' => true
),
array(
'title' => 'Figure',
'block' => 'figure',
'wrapper' => true
),
array(
'title' => 'Figure caption',
'block' => 'figcaption',
'wrapper' => true
)
)
)
);
$defaultEditorConfig->disablePlugins('contextmenu');
$defaultEditorConfig->enablePlugins('lists', 'paste');
$defaultEditorConfig->setButtonsForLine(1, 'styleselect, formatselect, separator, bold, italic, separator, justifyleft, justifycenter, justifyright, separator, bullist, numlist, separator, charmap, ssmedia, separator, sslink, unlink, separator, code');
$defaultEditorConfig->setButtonsForLine(2);
$defaultEditorConfig->setButtonsForLine(3);
Мои первоначальные мысли состоят в том, что это связано с тем, что SilverStripe загружает файлы конфигурации, но нет других файлов/модулей, которые определяют HtmlEditorConfig, о котором я знаю.
Другая мысль, которая у меня была, заключалась в кэшировании, я очистил кеш SilverStripe, свой кеш браузера и даже запускал dev/build без до сих пор радости, так что исключает кеширование
Поскольку конфигурация модулей включена в алфавитном порядке, вам нужно либо переименовать ваш модуль шаблона (или установочный каталог в composer.json), который он приходит после framework
либо поместил конфигурацию внутри mysite
вручную, mysite
добавить наконец и там вы можете перезаписать настройки.