将内容从 TypoScript 传递到 TYPO3 7.6 中的流体模板
Pass content from TypoScript to fluid template in TYPO3 7.6
我想通过 TypoScript 阅读内容并通过自定义 Fluid 模板呈现它。没有 css_styled_content 或 fluid_styled_content.
temp.test = CONTENT
temp.test {
table = tt_content
select.languageField = 1
select.selectFields = bodytext,image,header,header_link
select.where = colPos = 1
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/Teaser.html
}
}
这适用于字符串,例如
<f:debug>{data.header}</f:debug>
但是
<f:debug>{data.image}</f:debug>
只返回图像的数量。
现在,在经典的 TypoScript RenderObj(可能是 COA)中,您会添加类似
的内容
10 = FILES
10 {
required = 1
references {
table = tt_content
fieldName = image
}
renderObj = IMAGE
renderObj {
file.import.data = file:current:originalUid // file:current:uid
file.width=654
file.height = 327c
//stdWrap.typolink.parameter.data = file:current:link
altText.data = file:current:description // file:current:title // file:current:alternative
}
}
而现在,我们想在 Fluid 模板中做到这一点。但是如何解析FAL图像以将其传递给流体模板?
主要问题是所有图像信息都存储在另一个名为 "sys_file_reference" 的 table 中。选择 "tt_content.image" 在这里对您没有帮助。有两种方法可以解决这个问题,恕我直言。
1) 创建您自己的viewhelper。此 VH 可用于在完成时查询图像 here。
2) 创建一个小的 TypoScript 库并将其用作流体模板中的 f:cObject。这是描述 here.
我并不是说我的解决方案是最好的。但这是我所知道的唯一一个。期待看到更好的解决方案 ;)
您应该能够使用 TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
数据处理器来为您获取文件数据,以便您可以在模板中使用 {files}
访问它。
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/Teaser.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10.references.fieldName = image
}
}
我想通过 TypoScript 阅读内容并通过自定义 Fluid 模板呈现它。没有 css_styled_content 或 fluid_styled_content.
temp.test = CONTENT
temp.test {
table = tt_content
select.languageField = 1
select.selectFields = bodytext,image,header,header_link
select.where = colPos = 1
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/Teaser.html
}
}
这适用于字符串,例如
<f:debug>{data.header}</f:debug>
但是
<f:debug>{data.image}</f:debug>
只返回图像的数量。
现在,在经典的 TypoScript RenderObj(可能是 COA)中,您会添加类似
的内容10 = FILES
10 {
required = 1
references {
table = tt_content
fieldName = image
}
renderObj = IMAGE
renderObj {
file.import.data = file:current:originalUid // file:current:uid
file.width=654
file.height = 327c
//stdWrap.typolink.parameter.data = file:current:link
altText.data = file:current:description // file:current:title // file:current:alternative
}
}
而现在,我们想在 Fluid 模板中做到这一点。但是如何解析FAL图像以将其传递给流体模板?
主要问题是所有图像信息都存储在另一个名为 "sys_file_reference" 的 table 中。选择 "tt_content.image" 在这里对您没有帮助。有两种方法可以解决这个问题,恕我直言。
1) 创建您自己的viewhelper。此 VH 可用于在完成时查询图像 here。
2) 创建一个小的 TypoScript 库并将其用作流体模板中的 f:cObject。这是描述 here.
我并不是说我的解决方案是最好的。但这是我所知道的唯一一个。期待看到更好的解决方案 ;)
您应该能够使用 TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
数据处理器来为您获取文件数据,以便您可以在模板中使用 {files}
访问它。
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/Teaser.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10.references.fieldName = image
}
}