TypoScript附加'>'从tt_content渲染内容时

时间:2017-04-30 19:54:24

标签: typo3 typoscript

我正在尝试将TYPO3从版本4.6升级到4.7。扩展automaketemplate(0.20)用于网站模板。

我有以下代码从tt_content表中检索一些内容:

function generate() {
$("[id*='keyword']").each(function(){
$(this).removeClass("show");
})
var number= Math.floor(Math.random() * 5) + 1
$("#keyword"+number).addClass("show");
}
				
$(function(){
setInterval(generate, 4000);
})
				
$("[id*='keyword']").click(function() {
clearInterval(generate);
});

对于调试,tt_content表中的实际bodytext只是字符串'BODYTEXT'。 4.7中的渲染内容是:

div[id*='keyword']{
background: #aaa;
position: absolute;
left: -200px;
opacity: 0;
width:200px;
line-height: 60px;
text-align: center;
color: white;
height: 60px;
-webkit-transition: 1s all ease;
transition: 1s all ease;
}
div[id*='keyword'].show{
left: 0;
opacity: 1;
}

4.6我没有>标志。它来自哪里?

1 个答案:

答案 0 :(得分:0)

我认为你的某个地方已经在你的配置中宣布了一个额外的>。这可能来自PHP,typoscript或fluid- / marker-template 您可以在自己的来源中搜索>>之类的内容(例如<br />>

另一种可能性(特别是在版本更改[1]之后):一些包装的渲染完成'不平衡'(=在相同的TEXT或包装中完成打开和关闭)。可能有一个像COA那样的包装:

...wrap.cObject = COA
...wrpa.cObject {
   10 = TEXT
   10.value = <div class="default

   20 = TEXT
   20.value = variant
   20.if.equals.field = layout
   20.if.value = 1

   30 = TEXT
   30.value = ">|</div>
}

(这里的打开和关闭是在同一个包装中完成的,但是包装由三个TEXT组成,开口在10中完成并且在30中完成)

虽然在早期版本中,所有内容都在10中完成,但我们现在有三个部分。如果您使用...10 >删除了早期版本中的换行,那么它现在会留下一个损坏的HTML标记。

您可以在另一部分之后停用配置的一部分,直到您可以本地化错误。 (扩展,模板,Typoscript)

[1] contentelements的呈现始终是变化的主题,以反映最先进的HTML标记。由于渲染是在typoscript和CSC的静态模板中完成的,因此每个版本的TYPO3都具有兼容版本的CSC。在您的情况下,您可以使用与第一个版本的版本兼容的静态模板,以便对渲染的修改与渲染相匹配。