У нас есть стандартный модуль, который мы включаем во все ваши сборки SilverStripe. Мы пытаемся добавить новый класс в нашу настраиваемую конфигурацию WYSIWYG.
Странно то, что у нас есть модуль, предназначенный для этого, но как только мы переместим эту конфигурацию из этого модуля в новый модуль, конфигурация отражает только пару изменений, а не все.
Пример:
wysiwygboilerplate / _config.php
CompanyName-шаблонный / _config.php
Первый пример показывает правильную конфигурацию wysiwyg. Когда этот же код перемещается в новый каталог «companyname -ilerplate /», он перестает функционировать.
Это фрагмент кода, с которым я работаю. (единственное обновление — путь к содержимому 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
наконец добавлен и там вы можете переписать настройки.
Других решений пока нет …