Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 类型3:如何删除页面上的空段落_Html_Formatting_Typo3_Paragraphs - Fatal编程技术网

Html 类型3:如何删除页面上的空段落

Html 类型3:如何删除页面上的空段落,html,formatting,typo3,paragraphs,Html,Formatting,Typo3,Paragraphs,我正在使用Typo3V6.1创建一个“text”类型的标准页面。在视图中,Typo3在富文本编辑器上创建的内容前后添加了四个空段落 <p class="bodytext">&nbsp;</p> <p class="bodytext"> <!-- CONTENT ELEMENT, uid:17/text [begin] --></p> <p class="bodytext"> <a id="

我正在使用Typo3V6.1创建一个“text”类型的标准页面。在视图中,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>  

使用富文本编辑器添加的实际文本


不用说,我想摆脱这种混乱,特别是因为
正在破坏布局。

请将此代码添加到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>