You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 v11中如何在News的TypoScript里设置startingpoint为当前页面ID?

在TYPO3 v11中实现当前页面作为新闻起始点的方法

在TYPO3 v11及更高版本中,USER对象配置里不再支持直接用this或未解析的TSFE变量设置startingpoint,需要通过stdWrap.data来获取当前页面ID,具体修改方案如下:

修改后的完整代码

lib.pageNews = USER
lib.pageNews {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = News
  pluginName = Pi1
  vendorName = GeorgRinger
  switchableControllerActions {
    News {
      1 = list
    }
  }

  settings < plugin.tx_news.settings
  settings {
    startingpoint.data = page:uid
    recursive = 99
    templateLayout = 100
    hidePagination = 0
    #limit = 10
    detailPid = 1075
    list.paginate.itemsPerPage = 20
  }
}

关键修改说明

  • 把startingpoint = this替换为startingpoint.data = page:uid:page:uid是TYPO3 TypoScript中获取当前页面ID的标准数据来源,通过data属性能让系统正确解析并注入当前页面UID作为新闻列表的起始点。
  • 如果需要复杂逻辑处理(比如追加多个起始点),可结合stdWrap扩展使用:
    startingpoint.stdWrap.data = page:uid
    # 示例:追加额外页面ID作为起始点
    startingpoint.stdWrap.wrap = |,123
    

原方法失效原因

TYPO3 v10+对Extbase的USER对象配置做了严格限制,直接在settings里使用TSFE:id这类变量不会被自动解析,必须通过data或stdWrap明确指定数据来源,以此保障配置的安全性和可预测性。

内容的提问来源于stack exchange,提问作者Uroš

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:10:48