如何在 TYPO3 中为每个网站添加自定义 CKEditor YAML 文件?



所有文档都说您需要有一个自定义扩展才能使用不同的预设。 如果我可以直接在每个根页面上的 TS 配置中设置 YAML 路径,那将更加用户友好。

有没有办法在页面 TS 配置而不是扩展中设置自定义 YAML 的路径?

我想要什么:

每个页面的 TS 配置更改:

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

扩展ext_localconf.php保持不变:

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

建议将配置放在扩展中。

但是,TYPO3非常灵活。您可以通过多种方式对其进行配置。如果您使用扩展(例如站点包(,则可以将所有配置放在一个地方,将其置于版本控制之下,轻松部署等。这与系统中的各种配置文件(例如在 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';
    

如您所见,路径不必位于扩展中。

  1. 在站点的页面配置中,选择预设:

    RTE.default.preset = site1
    
  2. 创建文件 rte_site1.yaml 和 rte_site2.yaml。您可以使用现有配置文件之一作为基础:https://github.com/TYPO3/TYPO3.CMS/tree/master/typo3/sysext/rte_ckeditor/Configuration/RTE

另请参阅如何创建自己的预设。

这很简单,请按照以下步骤配置 CKEditor。

  • 从以下配置设置默认预设:

    RTE.default.preset = default
    RTE.default.preset = full
    RTE.default.preset = minimal
    
  • 为默认元素设置 CKEditor(英语: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/

希望这对您有所帮助!

最新更新