у меня есть Motors
юридическое лицо, имеющее Один ко многим связь с File
юридическое лицо. Загрузка файлов и их привязка осуществляется с помощью VichUploaderBundle.
Моя цель — дать простой обзор Motors
объект, отображая только первое изображение этого объекта. Так как я использую веточку для отображения моего объекта, я использовал first
Фильтр веточки выглядит следующим образом:
{{ vich_uploader_asset(motors.files|first, 'motors_files') }}
Это не было успешным. Я получил ошибку:
Во время рендеринга шаблона возникло исключение («Невозможно определить имя класса. Укажите его явно или укажите объект») в MinnAdsBundle: Motors: index.html.twig в строке 75.
Кажется, что исключение генерируется этим классом PropertyMappingFactory.php.
Я также попробовал это:
{%for f in motors.files|first %}
{{ vich_uploader_asset(f, 'motors_files') }}<br>
{%endfor%}
Но здесь ничего не отображается. Там также нет сгенерированной ошибки !!! Это странно, так как применение фильтров first
и ‘length’ возвращает ожидаемое значение (1 или 0):
{{motors.files|first|length}} {#always return the expected value#}
Я сделал еще больше проверок, как показано ниже, но безуспешно! Итак, не могли бы вы помочь с этим вопросом?
Спасибо!
{# the length of the array#}
{{motors.files|length}} {# tells me that there is 3 files! (worked perfectly)#}
{# Retrieving all the links of these file (worked perfectly)#}
{%for f in motors.files%}
{{ vich_uploader_asset(f, 'motors_files') }}<br>
{%endfor%}
Я закончил проблему условием if в цикле:
{%for f in motors.files%}
{%if loop.index == 1%}
src="{{ vich_uploader_asset(f, 'motors_files')}}"{% endif %}
{%endfor%}
Существует проблема с VichUploaderBundle
при работе с фильтром first
,
Других решений пока нет …