Как добавить пользовательский файл CKEditor YAML для каждого веб-сайта в TYPO3? - PullRequest
1 голос
/ 12 октября 2019

Вся документация гласит, что вам нужно иметь собственное расширение для использования другой предустановки. Было бы намного удобнее для пользователя, если бы я мог установить путь YAML непосредственно в Конфигурации TS на каждой корневой странице.

Есть ли способ установить путь к пользовательскому YAML в Конфигурации страницы TS, а не врасширение?

Что я хочу:

Изменения конфигурации TS для каждой страницы:

RTE.default.presetpath = 'fileadmin/templates/my_site/rte.yaml'

Расширение остается тем же ext_localconf. php:

$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = RTE.default.presetpath

Ответы [ 2 ]

1 голос
/ 12 октября 2019

Рекомендуется поместить конфигурацию в расширение.

Но TYPO3 очень гибок. Вы можете настроить его различными способами. Если вы используете расширение (например, sitepackage ), вы можете хранить всю конфигурацию в одном месте, поместить ее под контроль версий, легко развернуть ее и т. Д. Это отличается от различных файлов конфигурации в вашей системе (например,в fileadmin), что не очень хорошая практика.

Если у вас есть несколько сайтов, требующих различной конфигурации в одной установке TYPO3, вы можете сделать:

  1. Определить предустановку для каждого сайта. Вы можете сделать это в своем расширении, как описано в документации , или поместить это в typo3conf / AdditionalConfiguration.php:

    $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['site1'] = 'typo3conf/rte_site1.yaml';
    $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['site2'] = 'typo3conf/rte_site2.yaml';
    

Как видите, путьне должен быть в расширении.

На странице TSconfig вашего сайта выберите предустановку :

RTE.default.preset = site1

Создайте файлы rte_site1.yaml и rte_site2.yaml. Вы можете использовать один из существующих файлов конфигурации в качестве основы: https://github.com/TYPO3/TYPO3.CMS/tree/master/typo3/sysext/rte_ckeditor/Configuration/RTE

См. Также Как мне создать свой собственный пресет .

1 голос
/ 12 октября 2019

Это довольно просто, следуйте инструкциям ниже для настройки CKEditor.

  • Установите предустановки по умолчанию из конфигурации ниже:

    RTE.default.preset = default
    RTE.default.preset = full
    RTE.default.preset = minimal
    
  • Установите CKEditor для элемента по умолчанию

    RTE.tt_content.types.textmedia.bodytext.preset = default
    
  • Вы можете установить пользовательское расширение с помощью

    RTE.config.tx_news_domain_model_news.bodytext.preset = default
    
  • Переопределить конфигурацию в ext_localconf.php

     if($_SERVER["REMOTE_ADDR"]=='111.111.111.111'){
         $GLOBALS['TYPO3_CONF_VARS']
                 ['RTE']
                 ['Presets']
                 ['Custom_presets'] = 'EXT:your_extension/Configuration/PageTSconfig/TceForm/Default.yaml';
     }
    

    Вот и все! Вы можете узнать больше из интересных блогов здесь:

https://www.nitsan.in/blog/simple-steps-to-configure-ckeditor-typo3/

https://typo3worx.eu/2017/02/configure-ckeditor-in-typo3/

Надеюсь, это поможет вам!

...