Изображение в TYPO3 Fluid не отображается, выдает ошибку - PullRequest
0 голосов
/ 08 июня 2019

Мне нужно показать изображение во внешнем интерфейсе.

<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 не установлен на сервере?

1 Ответ

0 голосов
/ 11 июня 2019

Вероятно, причиной вашей проблемы является использование {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>
...