在 TYPO3 8 中的 TypoScript 中使用带有回退的裁剪图像
Use cropped image with fallback in TypoScript in TYPO3 8
此 TS 代码始终生成 600x400 像素的图像:
10 = FILES
10 {
required = 1
references {
table = tt_content
fieldName = image
}
renderObj = IMAGE
renderObj {
wrap = <div class="teaser-image">|</div>
file.import.data = file:current:originalUid // file:current:uid
file.crop.data = file:current:crop
file.width=600c
file.height=400c
}
}
如果我删除
file.width=600c
file.height=400c
然后将使用裁剪向导裁剪后的图像。
但我需要两者(这是对现有站点的升级):如果可用,则使用裁剪后的图像,但如果不可用,则使用给定的高度和宽度。
如何使用 "file:current:crop" 部分仅在给定的情况下覆盖宽度和高度?或者如何设置回退?像...
file.crop.data = file:current:crop // fallback...
我已经移动到 renderObj 中的 FLUIDTEMPLATE:
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/templates/content/teaser.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = image
references.table = tt_content
as = teaserimages
}
}
}
(需要 FilesProcessor)
然后在模板中
<img src="<f:uri.image image="{teaserimages.0}" width="600c" height="400c" />
表现符合预期
此 TS 代码始终生成 600x400 像素的图像:
10 = FILES
10 {
required = 1
references {
table = tt_content
fieldName = image
}
renderObj = IMAGE
renderObj {
wrap = <div class="teaser-image">|</div>
file.import.data = file:current:originalUid // file:current:uid
file.crop.data = file:current:crop
file.width=600c
file.height=400c
}
}
如果我删除
file.width=600c
file.height=400c
然后将使用裁剪向导裁剪后的图像。
但我需要两者(这是对现有站点的升级):如果可用,则使用裁剪后的图像,但如果不可用,则使用给定的高度和宽度。
如何使用 "file:current:crop" 部分仅在给定的情况下覆盖宽度和高度?或者如何设置回退?像...
file.crop.data = file:current:crop // fallback...
我已经移动到 renderObj 中的 FLUIDTEMPLATE:
renderObj = FLUIDTEMPLATE
renderObj {
file = path/to/templates/content/teaser.html
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = image
references.table = tt_content
as = teaserimages
}
}
}
(需要 FilesProcessor)
然后在模板中
<img src="<f:uri.image image="{teaserimages.0}" width="600c" height="400c" />
表现符合预期