我正在使用Typo3 v6.1创建“文本”类型的标准页面。在 View 中,Typo3在富文本编辑器上创建的内容之前和之后添加四个空的段落。

<p class="bodytext">&nbsp;</p>
<p class="bodytext">    <!--  CONTENT ELEMENT, uid:17/text [begin] --></p>
<p class="bodytext">        <a id="c17"></a></p>
<p class="bodytext">        <!--  Text: [begin] --></p>

<p class="bodytext">The actual text added using the Rich Text Editor</p>

<p class="bodytext">        <!--  Text: [end] --></p>
<p class="bodytext">&nbsp;</p>
<p class="bodytext">    <!--  CONTENT ELEMENT, uid:17/text [end] --></p>
<p class="bodytext">&nbsp;</p>

不用说,我想摆脱这种困惑,尤其是因为&nbsp;破坏了布局。

最佳答案

在错误的位置有一个parseFunc
看起来你有类似的东西

page.10 = CONTENT
page.10.stdWrap.parseFunc < lib.parseFunc_RTE

这意味着:呈现内容,然后使用lib.parseFunc_RTE解析此内容。激活包装的代码是
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = <p>|</p>

在这里删除并不能解决问题,因为原因是lib.parseFunc_RTE是在整个content元素上处理的,而不仅是在应定义它的bodytext上处理的。

查看您的TypoScript或将其添加到您的问题中。

(用于测试):

在顶层创建一个新站点,并仅添加基本的TypoScript(添加css_styled_content模板;检查清除的设置和常量)
page = PAGE
page.10 < styles.content.get

检查输出,内容不应再包装到 p class =“bodytext” 中。

更新:

使用{content},其中{content}通过styles.content.get f填充parseFunc执行两次。 styles.content.get执行parseFunc,因此可以将其输出到浏览器。但是f:format.html也执行lib.parseFunc。因此,这就是为什么您的内容被解析两次的原因。
# in this case, f:format.html does not need to execute the parseFunc again
<f:format.html  parseFuncTSPath="">{content}</f:format.html>

如果您有RTE栏位,请使用lib.parseFunc_RTE;如果您不希望在栏位(f.e. header)中使用HTML代码,请使用lib.parseFunc。

关于html - Typo3:如何删除页面上的空段落,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20670864/

10-13 06:41