Html 类型3:如何删除页面上的空段落
我正在使用Typo3V6.1创建一个“text”类型的标准页面。在视图中,Typo3在富文本编辑器上创建的内容前后添加了四个空段落Html 类型3:如何删除页面上的空段落,html,formatting,typo3,paragraphs,Html,Formatting,Typo3,Paragraphs,我正在使用Typo3V6.1创建一个“text”类型的标准页面。在视图中,Typo3在富文本编辑器上创建的内容前后添加了四个空段落 <p class="bodytext"> </p> <p class="bodytext"> <!-- CONTENT ELEMENT, uid:17/text [begin] --></p> <p class="bodytext"> <a id="
<p class="bodytext"> </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"> </p>
<p class="bodytext"> <!-- CONTENT ELEMENT, uid:17/text [end] --></p>
<p class="bodytext"> </p>
使用富文本编辑器添加的实际文本
不用说,我想摆脱这种混乱,特别是因为
正在破坏布局。请将此代码添加到body标签的末尾上方
var elems=document.getElementsByTagName('p');
var elemsLenght=elems.length;
对于(变量i=0;i
parseFunc
page.10 = CONTENT
page.10.stdWrap.parseFunc < lib.parseFunc_RTE
page.10=内容
page.10.stdWrap.parseFunc
这意味着:呈现内容,然后使用lib.parseFunc_-RTE解析此内容。激活包装的代码是
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = <p>|</p>
lib.parseFunc_RTE.nontypotagstdwap.encapsLines.wrapNonWrappedLines=|
删除不会解决这里的问题,因为原因是lib.parseFunc_RTE是在整个内容元素上处理的,而不仅仅是在应该定义它的bodytext上处理的
看看你的打字稿,或者把它添加到你的问题中
用于测试目的:
在顶层创建一个新站点,只添加基本的打字脚本(添加css样式的内容模板;检查清除设置和常量)
page=page
第10页
检查输出,内容不应再包装到p class=“bodytext”中
更新:
使用{content},其中{content}通过styles.content.get f.e填充。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>
#在这种情况下,f:format.html不需要再次执行parseFunc
{content}
如果有RTE字段,请使用lib.parseFunc_-RTE;如果字段(f.e.标题)中不需要HTML代码,请使用lib.parseFunc。这是我的工作,我在设置中添加了以下行
config.disablePrefixComment = 1
我做了更多的研究,偶然发现有人遇到了同样的问题。
div
标记和注释是所谓的“CSS样式内容”的结果。使用content
将此内容传递到前端,这是根据我的流体模板教程(将内容从RTE传递到模板的常用方法)编写的
一个网站将这些描述为解决方案(或变通方法):
#收割台标准外壳
lib.stdheader.10.1.fontTag=|
#删除.csc标题
lib.stdheader.stdWrap.dataWrap>
#普通标题
lib.stdheader.2.headerStyle>
lib.stdheader.3.headerClass>
#(未知,德语版本为“删除其他内容”
tt_content.stdWrap.dataWrap=
#禁用RTE段落中的.bodytext
lib.parseFunc_RTE.nontypotagstdwap.encapsLines.addAttributes.P.class>
#禁用这些标记的段落附件
lib.parseFunc_RTE.nontypotatgstdwrap.encapsLines.encapsTagList=cite,div,p,pre,hr,h1,h2,h3,h4,h5,h6,table,tr,td
#删除表格中的段落
#lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.removeTags=p
#允许表中的类
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list>
警告:我不能肯定此解决方案的质量。它确实解决了大多数问题(删除了div、注释和类),但仍保留了
p
标记。在root的模板脚本中添加以下行
常量:content.RTE_compliant = 0
在设置中:tt_content.stdWrap.dataWrap >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines>
这是文章中描述的问题变体的解决方案
<f:format.html>
{field.copyrightText}
</f:format.html>
{field.copyrightText}
在预期段落之前和之后提供一个段落
<f:format.html>{field.copyrightText}</f:format.html>
{field.copyrightText}
没有额外的段落。因此模板中的分隔符似乎是由format viewHelper解析的
希望这对其他人有所帮助;祝您愉快可以通过删除format.html标记中的换行符/空格进行更正 不正确:
{data\u item.tx\u mask\u content\u rte}
正确的
{data\u item.tx\u mask\u content\u rte}
这同样适用于
,其中换行符/空格可能导致致命错误
同样,液体imho处理不当
希望它能帮助你不是一个干净的解决方案。如果用户没有javascript怎么办。我想你可以理解这个问题。这不是一个真正的问题解决方案。它只是将TYPO3配置为不呈现类似“CONTENT ELEMENT”的注释。因此,也许它看起来对您来说还可以,但仍然存在配置问题。我刚刚进行了一次全新的安装(这次使用的是6.0而不是6.1)它一直在发生。我的模板中唯一影响
lib.parseFunc_RTE
的代码是从中提取的。但是,当我删除它时,我仍然会得到那些空行。当使用像新闻这样的插件时,Typo3甚至会在第一个标题前添加30个空段落。Typo3不会立即添加30个空段落。这取决于您的配置你应该添加相关的打字脚本、使用过的扩展名、TYPO3 Verison等。现在,我们知道你在使用fluid。如果你想了解发生了什么,它可以
tt_content.stdWrap.dataWrap >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines>
<f:format.html>
{field.copyrightText}
</f:format.html>
<f:format.html>{field.copyrightText}</f:format.html>