我正在尝试将Typo3 Fluid与Backendlayouts一起使用。但是,不是呈现Content Elements,而是呈现Content元素的HTML。例如,我在后端有一个简单的Text-Element,带有“ some text”。它将在前端显示<p>some text</p>
,而不是预期的“某些文本”。主页的html如下所示:
<p>
<p>test</p>
</p>
我用来渲染内容的viewhelper看起来像这样:
<div class="col-md-4">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '11'}" />
</div>
您可以看到,我的Default.html中根本没有<p></p>
标签。我知道Text元素本身在后端使用<p> </p>
标记,但令我惊讶的是它们被渲染为文本并且也包含在html中。我只希望将Contentelement的html包含在主页的html中我想这个错误可能出在我的自定义主题扩展名中的lib.dynamicContent的这种打字错误中:
lib.dynamicContent = COA
lib.dynamicContent {
10 = LOAD_REGISTER
10 {
colPos.cObject = TEXT
colPos.cObject {
field = colPos
ifEmpty.cObject = TEXT
ifEmpty.cObject {
value.current = 1
ifEmpty = 0
}
}
pageUid.cObject = TEXT
pageUid.cObject {
field = pageUid
ifEmpty.data = TSFE:id
}
contentFromPid.cObject = TEXT
contentFromPid.cObject {
data = DB:pages:{register:pageUid}:content_from_pid
data.insertData = 1
}
wrap.cObject = TEXT
wrap.cObject {
field = wrap
}
}
20 = CONTENT
20 {
table = tt_content
select {
includeRecordsWithoutDefaultTranslation = 1
orderBy = sorting
where = {#colPos}={register:colPos}
where.insertData = 1
pidInList.data = register:pageUid
pidInList.override.data = register:contentFromPid
}
stdWrap {
dataWrap = {register:wrap}
required = 1
}
}
30 = RESTORE_REGISTER
}
这是Default.html
<f:layout name="Default" />
<f:section name="Main">
<main role="main">
<div class="container">
<div class="row">
<div class="col-md-4">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '11'}" />
</div>
<div class="col-md-4">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '12'}" />
</div>
<div class="col-md-4">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{colPos: '13'}" />
</div>
</div>
</div>
</main>
</f:section>
感谢您的时间,如果您需要更多信息以帮助我,请发表评论。丹尼尔
默认情况下,内容流周围可能缺少<f:format.raw>
会默认htmlescape