所有文档都说您需要有一个自定义扩展才能使用不同的预设。 如果我可以直接在每个根页面上的 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 安装中有多个站点需要不同的配置,您可以执行以下操作:
-
为每个站点定义一个预设。您可以按照文档中的说明在扩展中执行此操作,也可以将其放在 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';
如您所见,路径不必位于扩展中。
-
在站点的页面配置中,选择预设:
RTE.default.preset = site1
-
创建文件 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/
希望这对您有所帮助!