Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
f:uri.image的内联表示法是否在typo3 8.3.0中被破坏?_Typo3_Fluid_Typo3 8.x - Fatal编程技术网

f:uri.image的内联表示法是否在typo3 8.3.0中被破坏?

f:uri.image的内联表示法是否在typo3 8.3.0中被破坏?,typo3,fluid,typo3-8.x,Typo3,Fluid,Typo3 8.x,我使用TYPO3\CMS\Frontend\DataProcessing\fileprocessor访问FAL图像 dataProcessing { 20 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor 20 { references.fieldName = image as = images } } 使用效果很好,但是{f:uri.image(image:{images.0}')}或

我使用
TYPO3\CMS\Frontend\DataProcessing\fileprocessor
访问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)}

给我一个FE错误:

#1:PHP警告:htmlspecialchars()要求参数1为字符串,对象在 typo3_cms8/vendor/typo3fluid/fluid/src/Core/Parser/SyntaxTree/EscapingNode.php 第41行


信息:在7.LTS中,代码起作用

这是由两个因素组合而成:

  • {images.0}
    变量是一个对象,没有
    \uuuu-toString
    方法
  • 在所提供的内联示例中,参数以文本节点的形式传递
要更正此问题,请避免将对象访问器包装在文本节点中:

{f:uri(image: images.0)} {f:uri(image:images.0)} 有关这方面更详细的说明,您可以查看我关于主题的视频:


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

如果代码正常工作,只是抛出一个警告,我会忽略它并关闭警告。实际上,Typo3/Extbase中有很多警告,比如预期的数组/字符串为空,但得到的为空,等等。请不要禁用警告。如果操作正确,则在无警告的一般工程中键入3。其他一切都是真实有效的bug,因此应该在核心系统中修复。请在forge.typo3.org上报告您的问题,并提供复制步骤。非常感谢。