typo3-8.x - TYPO3 Fluid 中的图像未显示,出现错误
问题描述
我需要在前端显示图像。
<div class="col-md-12">
<f:debug>{user.image.0}</f:debug>
<f:if condition="{user.image}">
<f:then>
<f:image image="{user.image.0}" width="100" alt="" />
</f:then>
<f:else>
</f:else>
</f:if>
</div>
调试user.image
给出了这个
TYPO3\CMS\Extbase\Domain\Model\FileReferenceprototypepersistent entity (uid=34, pid=8)
uidLocal => protected 16 (integer)
originalResource => protected NULL
uid => protected 34 (integer)
_localizedUid => protected 34 (integer) modified
_languageUid => protected 0 (integer) modified
_versionedUid => protected 34 (integer) modified
pid => protected 8 (integer)
但在前端我得到这个错误
1476107295:PHP 可捕获的致命错误:TYPO3\CMS\Extbase\Persistence\ObjectStorage 类的对象无法转换为字符串
我试图同时使用两者image="
,src="
但没有任何效果。
是否与服务器上未安装 GraphicsMagick 有关?
解决方案
您的问题的原因可能是使用{user.image.0}
.
虽然在早期版本的流体中,您可以通过这种方式找到数组的第一个图像,但在较新的版本中,数组需要另一种处理方式:
<f:for each="{user.image}" as="userimage" iteration="iterator">
<f:if condition="{iterator.isFirst}"><f:image image="{userimage}" width="100" alt="" /></f:if>
</f:for>
推荐阅读
- r - 你如何循环 n 列并使用条件?
- python - 在 Python 中动态更改列名
- java - 通过 JNI NewObject 创建实例时 jvm.dll 中出现异常 0xC0000005
- c - 如何使用 gsasl gssapi 对 Active Directory 进行身份验证?
- python - 使用 Selenium webdriver 模块时 Firefox 浏览器无法打开
- python - 为什么在 for 循环中使用 yield
- asp.net - 从 asp.net 中的 bootstrap-datepicker 读取日期
- javascript - 页面通过表单验证后未重定向到条带结帐
- c# - 为什么这个本地接口引用超出范围?
- java - 韩语没有出现在 Apache Netbeans 中