我使用 TYPO3\CMS\Frontend\DataProcessing\FilesProcessor 访问 FAL 图像

dataProcessing {
    20 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    20 {
        references.fieldName = image
        as = images
    }
}
<f:uri.image image="{images.0}" /> 的使用工作正常,但 {f:uri.image(image:'{images.0}')}{f:uri.image(image:images.0)}
给我一个 FE 错误:



信息:在 7.LTS 中,代码有效

最佳答案

这是由两件事共同造成的:

  • {images.0} 变量是一个对象,没有 __toString 方法
  • 在提供的内联示例
  • 中将参数包装在 TextNode 中传递

    要纠正此问题,请避免将对象访问器包装在文本节点中:

    {f:uri(图片:images.0)}

    有关更详细的解释,您可以查看我关于该主题的视频: Mastering Fluid - Accessing Variables

    我还应该补充一点,我们确实知道这种边缘情况的变量与包装在 TextNode 中的字符串不兼容。到目前为止,我们的决定是,我们宁愿允许这种边缘情况通过,并避免添加一个条件,该条件需要检查每个模板中的每个变量,这些变量的累积将是数十亿个条件,其单一目标是避免此警告。

    关于typo3 - 在typo3 8.3.0 中f:uri. 图像的内联符号是否损坏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39291023/

    10-13 01:51