【问题标题】:Keep whitespaces in RTE for pre and code tags在 RTE 中为 pre 和 code 标记保留空格
【发布时间】:2012-11-01 06:27:54
【问题描述】:

我想通过<pre> 和/或<code> 标签显示代码,效果很好。空白在第一次保存时保存并在前端正确显示。但是,在后端重新加载内容时,编辑器会显示没有额外空格的代码。再次保存会删除整个代码格式。

我假设有一些设置,但直到现在我找不到任何东西。对此有何提示?

对于代码高亮,我使用GeshiLibvjrtecodesnippetsextensions。

编辑:

抱歉,错过了配置。涉及基本的rtehtmlarea,当前为 v4.7.5,没有针对 TCA 的特定更改,因为它是 TYPO3 的标准 文本内容元素 的标准正文字段(通过 css_styled_content 显示)。

RTE 的 PageTS 如下所示:

RTE.default.hidePStyleItems := removeFromList(pre)
RTE.default.proc {
  allowTags := addToList(pre)
  entryHTMLparser_db.allowTags < RTE.default.proc.allowTags

  overruleMode = tx_vjrtecodesnippets,ts_css,cleanenc
  allowTags := addToList(code)
  allowTagsOutside := addToList(code)

  entryHTMLparser_db {
    allowTags < RTE.default.proc.allowTags
    allowTagsOutside < RTE.default.proc.allowTagsOutside
  }

  HTMLparser_rte {
    allowTags < RTE.default.proc.allowTags
    allowTagsOutside < RTE.default.proc.allowTagsOutside
  }
}

Edit2:我们已经发布了 TYPO3 扩展 news_blog 正是这样做的。

【问题讨论】:

  • 您能发布字段和表格的 TCA 配置吗?某处是否涉及 RTE?
  • 好的,您在这里看到的是 RTE 的解析器在工作。它试图优化 HTML。您需要后端的 RTE 吗?你能不能只使用一个普通的旧文本字段?否则,您必须配置 parsefunc,这确实很麻烦。
  • 我需要后端的 RTE,因为语法高亮器也应该适用于新闻和其他扩展中的 bodytext 字段。你能给我一个开始的提示,这样我就可以试着麻烦一点?
  • 嗯...你可能需要关闭解析或编写自己的 parsefunc,然后。 Google for parseFunc 与 RTE 结合使用
  • 刚刚意识到:此链接可能会有所帮助:van-tomas.de/blog/how-to-enable-custom-tags-in-typo3-rte

标签: typo3 rte


【解决方案1】:

我想写一个评论,但是一个带有复杂猜测的简短回答可能同样好:

  • 我在自己的网站上检查过,&lt;code&gt; 标签工作正常。空格 在正文字段中存储为&amp;nbsp;,因此保留 保存并重新打开时。
  • 您是否尝试过删除该行
    RTE.default.hidePStyleItems := removeFromList(pre)
  • 根据manualvjrtecodesnippets 仅支持&lt;code&gt; 标签。你真的需要 both 标签来突出语法吗?
  • 另外,您是否尝试过如下更改您的 PageTS 以启用 &lt;pre&gt;?:

-

RTE.default.proc {
  allowTagsOutside := addToList(code,pre)
}

编辑:
我找到了一个相关的TypoScript snippet,这对于您的情况可能值得注意。请尝试进行以下调整:

在模板设置部分:

lib.parseFunc.allowTags := addToList(code,pre)
lib.parseFunc_RTE.allowTags := addToList(code,pre)

在 PAGE TSconfig 中:

RTE.default.proc {
  allowTags := addToList(code,pre)
  allowTagsOutside := addToList(code,pre)
  overruleMode = tx_vjrtecodesnippets,ts_css,cleanenc

  // CONTENT TO DATABASE
  HTMLparser_rte {
    allowTags < RTE.default.proc.allowTags
    allowTagsOutside < RTE.default.proc.allowTagsOutside
  }

  // Entry HTML parser
  entryHTMLparser_db {
    allowTags < RTE.default.proc.allowTags
    allowTagsOutside < RTE.default.proc.allowTagsOutside
  }
}

【讨论】:

    【解决方案2】:

    这适用于typo3 7.4

        RTE.default.proc {
        allowTags := addToList(pre)
    
        HTMLparser_rte {
            allowTags < RTE.default.proc.allowTags
        }
    
        entryHTMLparser_db {
            allowTags < RTE.default.proc.allowTags
        }
    }
    

    当然,您还可以添加更多以“,”分隔的标签名称

    有关您的 RTE 的更多设置,请查看打字稿。 https://docs.typo3.org/typo3cms/CoreApiReference/6.2/Rte/Transformations/Tsconfig/Index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 2012-02-09
      • 1970-01-01
      • 2017-11-19
      相关资源
      最近更新 更多