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

如何通过TypoScript获取tx_news关联标签页中的视频URL?

解决tx_news中获取YouTube媒体URL的TypoScript调整方案

你遇到的问题很典型:原来的代码是针对本地图片资源设计的,用了IMG_RESOURCE来处理图片的缩略图生成,但YouTube属于外部媒体资源,存储在FAL的sys_file表中type=3(外部文件),并没有本地文件可以生成缩略图,所以IMG_RESOURCE无法生效。

下面是修改后的TypoScript代码,专门用于获取关联的YouTube外部媒体URL:

page.headerData.87 >
page.headerData.87 = COA
page.headerData.87.1 = COA
page.headerData.87.1.1 = TEXT
page.headerData.87.1.1.value = <meta property="og:image" content="http://www.MyHomePage.com/
page.headerData.87.1.2 = COA
page.headerData.87.1.2 {
  5 = RECORDS
  5 {
    dontCheckPid = 1
    tables = tx_news_domain_model_news
    source.data = GP:tx_news_pi1|news
    source.intval = 1
    conf.tx_news_domain_model_news = FILES
    conf.tx_news_domain_model_news {
      references {
        table = tx_news_domain_model_news
        fieldName = fal_media
        uid.field = uid
        // 可选:只筛选外部媒体(YouTube属于这类)
        where = sys_file.type = 3
      }
      begin = 0
      maxItems = 1
      renderObj = TEXT
      renderObj {
        // 直接输出外部媒体的URL
        data = file:current:url
        // 如果需要确保URL是完整的,也可以用这个:
        // data = file:current:publicUrl
      }
    }
  }
}
page.headerData.87.1.3 = TEXT
page.headerData.87.1.3.value = " />

关键修改点说明:

  • 替换renderObj类型:把原来的IMG_RESOURCE换成TEXT,因为外部媒体不需要生成图片资源,直接输出存储的URL即可。
  • 使用正确的数据源:用file:current:url或者file:current:publicUrl获取外部媒体的链接,这两个属性对于外部FAL文件来说,就是你添加的YouTube地址。
  • 可选的筛选条件:在references里添加where = sys_file.type = 3,可以确保只获取外部媒体类型的资源,避免和图片等其他媒体混淆。

如果你的需求是优先取图片,没有图片时取YouTube链接,可以进一步扩展代码,用if条件判断媒体类型,或者嵌套两个FILES调用(先取图片,再取外部媒体)。

内容的提问来源于stack exchange,提问作者student-uni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:10:27