Как получить объект FAL файла, расположенного в моих ресурсах/общей папке расширений?

В моей папке extensions Resource/Public у меня есть изображение. Я хочу визуализировать это изображение с помощью <f:image>-ViewHelper, используя атрибут image, который принимает файловый объект FAL. Как я могу это сделать?

Дело не в том, что я не могу использовать src, я просто не хочу - одной веткой в ​​моем коде меньше.

Я использую TYPO3 6.2.14 и экосистему FluidTYPO3.


person Jost    schedule 22.08.2015    source источник


Ответы (1)


Я получил ответ в Slack от Helmut Hummel: это возможно только при использовании уровня совместимости.

Он написал сообщение в блоге об этом. Соответствующий раздел таков:

Статические ресурсы

Я бы определил только два правила того, как (в настоящее время) использовать статические ресурсы:

  • Не используйте их с помощником просмотра изображений
  • Поместите их в расширение в папке Resources/Public.

Если вы будете следовать этим правилам, у вас будет меньше проблем.

В настоящее время у нас нет API для работы со статическими ресурсами, и API FAL может работать с ними только на уровне обратной совместимости (которого вам действительно следует избегать!). Вот почему в настоящее время вы должны следовать правилу 1 (как только у нас появятся объекты, которые правильно описывают статические ресурсы, мы можем отказаться от правила 1).

Вам нужно следовать правилу 2, чтобы воспользоваться преимуществами малоизвестного помощника представления Fluid, помощника представления ресурса uri. Вы можете использовать его, например. показать изображение из пакета сайта (my_site/Resources/Public/Images/logo.png) следующим образом:

<img src="{f:uri.resource(path:'Images/logo.png', extensionName:'my_site')}" width="200" />

Обратите внимание, что здесь я использовал не помощник представления изображения, а обычный HTML-тег img и использовал помощник представления ресурсов во встроенной нотации для автоматического вычисления пути к корневому веб-сайту для этого изображения. Также обратите внимание, что помощник представления ожидает, что статические ресурсы будут помещены в каталог Resources/Public.

person Jost    schedule 23.08.2015
comment
Вы также можете использовать помощник представления изображений ( typo3.org/api/typo3cms/_exists_view_helper_8php_source.html ), чтобы проверить, существует ли файл погоды. - person Vishal Tanna; 24.08.2015