在 TYPO3 中获取 url 个已处理的图像
Get url of processed image in TYPO3
我需要从 TYPO3 获取处理过的图像的 URL。图片放置在自定义内容元素中并由用户修改(例如裁剪)。
我可以得到原始文件 URL,但我需要经过处理的图像 URL(来自 file_processedImages table)。
这是我的 TS:
# <------------ Speakers --------
tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
variables {
images = FILES
images {
references {
table = tt_content
fieldName = image
}
renderObj = COA
renderObj {
10 = TEXT
10 {
data = file:current:uid
treatIdAsReference = 1
wrap = |,
}
20 = TEXT
20 {
data = file:current:publicUrl
treatIdAsReference = 1
wrap = |###
}
30 = TEXT
30 {
data = file:current:title
wrap = |,
}
40 = TEXT
40 {
data = file:current:description
htmlSpecialChars = 1
}
}
}
}
}
我认为引用 table 总是作为子文件加载到 tt_content 上。
这意味着我应该能够从这样的参考图像中读取 publicUrl
data = file:current:publicUrl
treatIdAsReference = 1
也许您应该使用 FilesProcessor 获取 Extbase 模型并在 Fluid 中使用它?
参见:https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/ContentObjects/Fluidtemplate/#dataprocessing
正如 Thomas 所写,我还建议在您的 FLUIDTEMPLATE 中使用 FilesProcessor:
tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = image
}
}
在您的流体模板中,您可以访问原始文件(未处理)的 public URL 或获取已处理的 URL 如果应用了任何裁剪或 maxHeight 等:
<f:for each="{files}" as="file">
<p>Public URL: {file.originalFile.publicUrl}</p>
<p>Processed URL: <f:uri.image image="{file}" height="{data.imageheight}" width="{data.imagewidth}" /></p>
<hr />
</f:for>
我需要从 TYPO3 获取处理过的图像的 URL。图片放置在自定义内容元素中并由用户修改(例如裁剪)。
我可以得到原始文件 URL,但我需要经过处理的图像 URL(来自 file_processedImages table)。
这是我的 TS:
# <------------ Speakers --------
tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
variables {
images = FILES
images {
references {
table = tt_content
fieldName = image
}
renderObj = COA
renderObj {
10 = TEXT
10 {
data = file:current:uid
treatIdAsReference = 1
wrap = |,
}
20 = TEXT
20 {
data = file:current:publicUrl
treatIdAsReference = 1
wrap = |###
}
30 = TEXT
30 {
data = file:current:title
wrap = |,
}
40 = TEXT
40 {
data = file:current:description
htmlSpecialChars = 1
}
}
}
}
}
我认为引用 table 总是作为子文件加载到 tt_content 上。
这意味着我应该能够从这样的参考图像中读取 publicUrl
data = file:current:publicUrl
treatIdAsReference = 1
也许您应该使用 FilesProcessor 获取 Extbase 模型并在 Fluid 中使用它? 参见:https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/ContentObjects/Fluidtemplate/#dataprocessing
正如 Thomas 所写,我还建议在您的 FLUIDTEMPLATE 中使用 FilesProcessor:
tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = image
}
}
在您的流体模板中,您可以访问原始文件(未处理)的 public URL 或获取已处理的 URL 如果应用了任何裁剪或 maxHeight 等:
<f:for each="{files}" as="file">
<p>Public URL: {file.originalFile.publicUrl}</p>
<p>Processed URL: <f:uri.image image="{file}" height="{data.imageheight}" width="{data.imagewidth}" /></p>
<hr />
</f:for>