TypoScript 在呈现来自 tt_content 的内容时附加“>”

TypoScript appends '>' when rendering content from tt_content

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

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

lib.darkbar < styles.content.get
lib.darkbar.select.pidInList = {$contentpage.darkbarPID}

为了调试 tt_content table 中的实际正文只是字符串 'BODYTEXT'。 4.7中渲染的内容为:

<div id="site-darkbar-navigation">
    <!--  CONTENT ELEMENT, uid:96/text [begin] -->
        >
        <!--  Text: [begin] -->
            <p class="bodytext">BODYTEXT</p>
        <!--  Text: [end] -->
            </div>

在 4.6 中我没有 > 符号。它来自哪里?

我假设您在某个地方已经在您的配置中声明了一个额外的 >。这可能来自 PHP、拼写错误或 fluid-/marker-template.
您可能会在您的来源中搜索类似 >> 的内容(例如 <br />>

另一种可能性(尤其是在版本更改 [1] 之后):完成一些换行的呈现 'unbalanced'(= 打开和关闭在相同的文本或换行中完成)。可能会有像 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>
}

(这里的开闭是在同一个wrap中完成的,但是wrap由三个TEXT组成,opening在10中完成,clsing在30中完成)

虽然在早期版本中所有操作都是在 10 天内完成的,但我们现在分为三个部分。如果您在早期版本中仅使用 ...10 > 移除包装,它现在会留下一个损坏的 HTML-Tag。

您可能会一个接一个地停用配置的一部分,直到您可以定位错误。 (扩展、模板、排版)

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