Конфигурация SilverStripe Tinymce не обновляется внутри модуля

0

У нас есть модуль шаблонов, который мы включаем во все ваши сборки SilverStripe. Мы пытаемся добавить новый класс в нашу настроенную конфигурацию WYSIWYG.

Странно то, что у нас есть модуль, посвященный этому, но как только мы переместим эту конфигурацию из этого модуля и в новый модуль, конфигурация отражает только пару изменений и не все.

Пример:

wysiwygboilerplate/_config.php

Изображение 174551

название компании-шаблон/_config.php Изображение 174551

В первом примере показана правильная конфигурация 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 без до сих пор радости, так что исключает кеширование

Теги:
silverstripe
tinymce

1 ответ

2
Лучший ответ

Поскольку конфигурация модулей включена в алфавитном порядке, вам нужно либо переименовать ваш модуль шаблона (или установочный каталог в composer.json), который он приходит после framework либо поместил конфигурацию внутри mysite вручную, mysite добавить наконец и там вы можете перезаписать настройки.

  • 0
    Спасибо за ответ! Таким образом, модули могут быть загружены только в алфавитном порядке ?! Это ужасно ... Это возвращает меня к прежним временам, когда вы называли свой бизнес "AAAA Company", чтобы попасть в начало телефонного справочника. Нет ли способа дать приоритет модуля вручную (кроме помещения всех настроек в каталог mysite)?
  • 0
    Обычно это не имеет значения, потому что вы можете определить в своей конфигурации yml, какие другие конфигурации должны быть загружены ранее. Так что переписать что-то легко - в yml. к сожалению, htmleditor не использует yml :( не стесняйтесь подавать проблему на github github.com/silverstripe/silverstripe-framework/issues
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню