如何在TYPO3 CMS的标题中插入数据?



我想使用像"Hello {TSFE:fe_user|user|first_name}!"作为TYPO3 (10.x)中的内容元素标题。我使用下面的TypoScript设置为元素的bodytext实现了这一点:

lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.innerStdWrap_all.insertData = 1

我该如何处理标题呢?

只需将该数据放入使用替换方法的lib中,并使用f:cObject视图助手访问这些值。你可以确保只有数据被插入这不会有安全风险。

lib.myHeader = TEXT
lib.myHeader {
field = header
stdWrap.replacement {
10 {
search = USER_FIRST_NAME
replace.data = TSFE:fe_user|user|first_name
}
20 {
search = USER_LAST_NAME
replace.data = TSFE:fe_user|user|last_name
}
}
}

https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Functions/Replacement.html

这部分来自于在引导包中呈现标题的流体:

<f:case value="1">
<h1 class="{class} {positionClass}">
<f:link.typolink parameter="{link}">
<span>
<f:cObject typoscriptObjectPath="lib.myHeader" data="{data}" />
</span>
</f:link.typolink>
</h1>
</f:case>

https://github.com/benjaminkott/bootstrap_package/blob/master/Resources/Private/Partials/ContentElements/Header/Header.html

我想你可以根据这个例子修改部分的其余部分。

仍然应该注意缓存问题,因为数据可能只呈现一次,然后显示每个用户的名字。因此,请确保包含这些值的块要么为每个用户缓存,要么根本不缓存。

最新更新