【问题标题】:TypoScript appends '>' when rendering content from tt_content当从 tt_content 渲染内容时,TypoScript 会附加“>”
【发布时间】:2017-04-30 19:54:23
【问题描述】:

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

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

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

为了调试 tt_content 表中的实际正文文本只是字符串“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 中,我没有 > 符号。它来自哪里?

【问题讨论】:

  • 你看数据库表tt_content记录id=96了吗?也许里面有一些奇怪的内容。但我推荐@taunusweb 如何描述升级到 6.2,然后是 7.6 并解决所有错误。
  • 是的,我查看了原始记录,没关系。我还对 taunusweb 的回答写了一条评论,即在 6.2 中也会出现同样的问题。经过几个小时的调试,问题似乎来自 css_styled_content 扩展。

标签: typo3 typoscript


【解决方案1】:

我假设你在某个地方已经在你的配置中声明了一个额外的&gt;。这可能来自 PHP、typoscript 或流体/标记模板。
您可能会在您的来源中搜索&gt;&gt; 之类的内容(例如&lt;br /&gt;&gt;

另一种可能性(特别是在版本更改 [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>
}

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

虽然在早期版本中,所有内容都是在 10 中完成的,但我们现在有三个部分。如果您在早期版本中仅使用 ...10 &gt; 删除了包装,现在它会留下一个损坏的 HTML-Tag。

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

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

【讨论】:

  • 我已经可以将它固定到 css_styled_content 扩展。有一些 TypoScript tt_content.stdWrap.innerWrap.cObject.default.30.value = &gt;|&lt;/div&gt; 似乎是问题所在。我只是不明白为什么这是 4.7 而不是 4.6 的问题。这可能也是压痕破裂的原因。
  • 我假设您已经配置了对 CSC 默认渲染的修改。随着版本的改变,CSC 的渲染发生了变化,以前干净的渲染被破坏了。应该在tt_content.stdWrap.innerWrap.cObject.default.10 中使用 4.7 来打开 div-Tag,在.20 中附加了一些类,并且在.30 中全部关闭。也许在 4.6 中,所有内容都在 .10 中处理,并且您在配置中将其删除。因此在 4.6 中删除了带有 div 标签的包装,它在 4.7 中被破坏了不平衡
  • 嗨,伯恩德!经过进一步的调试,我已经得出了相同的结论。但我目前正在参加一个博览会,还没有时间写一个详细的答案。如果你愿意,你可以发表你的评论作为答案。
  • 我修改了我的答案以包括不平衡的包裹。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
  • 2021-04-03
相关资源
最近更新 更多