TYPO3 在渲染之前操作内容元素

问题描述 投票:0回答:2

我们在 tt_contents 中添加了一个新字段,并且在 TCA 中向所有内容元素添加了一个新字段。根据该字段中的值,我们想要控制是否应该渲染该元素。

该行为类似于 FE 用户的内容元素访问控制。

我正在寻找一个 Hook 或一个如何解决这个问题的想法。不幸的是,我在 felogin 中找不到任何有用的东西,我也尝试了以下 Hooks。

contentPostProc
render-preProcess

系统信息:

  • 打字错误3:2019年2月6日
  • 通量:7.2.3
  • 流体页面:3.3.1

如果有人能给我指明方向,那就太好了,谢谢。

更新
必须从 tt_contents 表中的新字段更改为 mm 关系表。这使得它变得更加复杂,因为必须连接表。

更新
由于有多种解决方案,我尝试了很多,但最终以

getRecordOverlay
钩子结束。在必须使用的接口
PageRepositoryGetRecordOverlayHookInterface
中,您可以找到 pre-hook 和 post-hook 的方法。

typo3 rendering hook typo3-6.2.x
2个回答
3
投票

1
投票

使用旧的 TYPO3 - 我认为您正在使用 css_styled_content。您可以简单地使用您自己的扩展名和一些 TCA 行向 tt_content 添加一个新字段(例如复选框)(我想您知道如何插入它)。 之后你可以扩展 styles.content.get - 类似于 ````

styles.content.get = CONTENT
styles.content.get {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos=0 and yourfield=1
    select.languageField = sys_language_uid
}
lib.yourcontent < styles.content.get
© www.soinside.com 2019 - 2024. All rights reserved.