typo3 - TYPO3 9.5.x / TypoScript / Fluid:获取未渲染文件类型的变量
问题描述
我正在为我的网站项目使用流体模板,并希望从我添加的 pages 表中获取文件引用。但是,为什么不能通过变量获取未渲染的文件引用?
//Not working
page.10 = FLUIDTEMPLATE
page.10.variables {
test = FILES
test {
references {
table = pages
uid.data = page:uid
fieldName = tx_myext_myfield
}
}
}
//but its working with adding
page.10.variables.test {
renderObj = IMAGE
renderObj {
file.import.dataWrap = {file:current:storage}:{file:current:identifier}
altText.data = file:current:title
}
}
解决方案
普通的 TypoScript 对象(如FILES
)总是返回一个字符串。如果要将文件作为 Fluid 中的变量获取,则应使用 DataProcessor ( https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html#dataprocessing )。TYPO3 有一个默认的文件数据处理器,你可以像这样使用它:
page.10 = FLUIDTEMPLATE
page.10.dataProcessing {
1 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
1 {
references.fieldName = tx_myext_myfield
as = myfiles
}
}
这将使文件在 Fluid 中作为变量可用myfiles
推荐阅读
- django - 如何在 django 2.0 中设置注册和信号
- java - Android - 使用类似于 @SerializedName 的内容注释 Retrofit2 POST / PATCH 请求正文
- java - HTTP 状态 500 - 实例化 servlet 类 com.sar.pkg.MyServlet 时出错
- paypal - 缺少基本参数
- vb.net - 使用 Visual Basic,我需要在 for next 循环中添加什么以使我的应用程序仅显示偶数?
- list - Haskell:用一个元素和一个列表连接一个元组列表:[(a,[b])] -> [(a,b)]
- oracle - 处理 ORA-01403: 未找到数据
- javascript - 使用纯 JavaScript (DOM) 和给定的对象数组创建表?
- java - p:rowExpansion 每次按下展开箭头时重复该组件
- perl - 通过准备和执行避免 SQL 注入