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

如何在TYPO3 9 LTS中配置tt_address 4.x适配insert_records元素

解决tt_address 4.3通过Insert Records展示单条地址记录的配置问题

我帮你梳理下当前配置里的问题,tt_address的Extbase插件配置和tx_news有细微差异,调整几个关键点就能正常工作,以下是修正后的完整TypoScript配置:

# 让传统Shortcut元素支持tt_address记录
tt_content.shortcut.20.tables := addToList(tt_address)
tt_content.shortcut.20.conf.tt_address = USER
tt_content.shortcut.20.conf.tt_address {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    extensionName = TtAddress
    pluginName = ListView
    vendorName = FriendsOfTYPO3
    switchableControllerActions {
        Address {
            1 = show
        }
    }
    # 继承tt_address插件的默认设置(模板、显示字段等)
    settings < plugin.tt_address.settings
    settings {
        # 启用单记录插入模式
        insertRecord = 1
        # 正确获取Insert Records选中的地址UID
        singleRecords.cObject = TEXT
        singleRecords.cObject.data = uid
    }
    # 取消存储PID限制,确保能加载选中的任意地址记录
    persistence.storagePid =
}

# 适配fluid_styled_content的Shortcut变量配置
tt_content.shortcut.variables.shortcuts.tables := addToList(tt_address)
tt_content.shortcut.variables.shortcuts.conf.tt_address < tt_content.shortcut.20.conf.tt_address

关键调整点说明:

  • 修正UserFunc语法:你之前用的-&gt;是HTML转义字符,TypoScript里直接写->才能正确调用Extbase的Bootstrap类方法,这是导致配置失效的核心问题之一。
  • 调整SingleRecords取值方式:原来的singleRecords.field = uid写法不符合TypoScript的stdWrap规则,改用cObject = TEXT结合data = uid,可以准确读取Insert Records元素选中的地址记录UID。
  • 清空StoragePid限制:默认情况下tt_address插件会限定读取指定存储文件夹的记录,添加persistence.storagePid =后,插件会直接加载选中的单条记录,不受存储文件夹约束。
  • 继承基础配置:通过settings < plugin.tt_address.settings直接复用你后台配置的tt_address插件模板、显示字段等设置,不用重复编写这些基础项。

测试步骤:

  1. 后台创建一个「快捷方式(Insert Records)」元素
  2. 记录类型选择「tt_address」,选中你需要展示的单个地址记录
  3. 保存后刷新前端页面,就能看到该地址的详情内容了

内容的提问来源于stack exchange,提问作者Markus Gehrig

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:53:46