【问题标题】:How to disable HTML transformation in TYPO3 8 LTS completely如何在 TYPO3 8 LTS 中完全禁用 HTML 转换
【发布时间】:2017-11-17 16:52:49
【问题描述】:

在 TYPO3 8.7.8 LTS 和全新安装中,设置为在安装期间创建一个空白基础页面,并且当您在文本元素中写入内容时禁用 CKEditor 扩展(我认为它是 tt_content.bodytext字段)它会被转换(添加<p>标签,删除换行符等......)即使没有启用所见即所得编辑器。所以这种转换必须发生在 TYPO3 后端。

我现在正在尝试禁用它一段时间,但到目前为止我失败了。我尝试了https://docs.typo3.org/typo3cms/CoreApiReference/Rte/Transformations/Tsconfig/Index.html 的方法 而这里主要是

“Page TSconfig”中的此配置将完全禁用 RTE:

RTE.default.disabled = 1



确切地说,我的Page TSConfig 看起来像这样,并且转换仍然发生:

RTE.default.proc.dontRemoveUnknownTags_db = 1
RTE.default.proc.entryHTMLparser_db = 0
RTE.default.proc.exitHTMLparser_db = 0
RTE.default.disabled = 1

RTE.config.tt_content.bodytext.proc.dontRemoveUnknownTags_db = 1
RTE.config.tt_content.bodytext.proc.entryHTMLparser_db = 0
RTE.config.tt_content.bodytext.proc.exitHTMLparser_db = 0
RTE.config.tt_content.bodytext.disabled = 1

所以问题是,我怎样才能完全禁用 HTML 转换?我是否需要在TypoScript Setup 中添加一些东西(我尝试了一点但没有运气)还是我必须在与Page TSConfig 不同的站点做一些完全不同的事情?

【问题讨论】:

    标签: typo3 typoscript


    【解决方案1】:

    查看(和调试)\TYPO3\CMS\Core\Html\RteHtmlParser 和这里的 RTE_transform($value, $specConf = [], $direction = 'rte', $thisConfig = []),这似乎是该字段转换的负责函数,我知道我的案例的转换发生在 foreach 模式下。
    我也知道我的RTE.default.disabled = 1 没有放错地方。它是加载配置的一部分,但至少在这一点上它根本没有任何效果。

    有效的是设置RTE.default.proc.overruleMode = noneRTE.default.proc.mode = none。可以这样做,并且任何不是注册模式的字符串都可以禁用任何转换。

    恕我直言:TYPO3 文档似乎和它的代码库一样混乱,也许RTE.default.disabled = 1 在某个地方有一个用例,如果你进一步深入研究文档,也许你会找到它,但我担心它也可能只是来自一些旧版本,大部分预处理和后处理逻辑似乎都是(从我在过去两个小时内看到的情况来看,我不相信这个框架的其他部分是“现代的”,仅仅是数据库查询的数量对于最简单的后端任务表明我可能是对的)。无论如何,我的问题已经解决了,祝任何出于某种原因也需要与过去的这种爬行动物一起工作的人好运。

    tl;dr:在您的 Page TSConfig 中设置 RTE.default.proc.overruleMode = none

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多