Изображения TYPO3 Fluid FAL получат неправильный путь, если я покажу его как фоновое изображение

Привет, я работаю с FluidTYPO3 и последними версиями TYPO3 Core 7.6 и Flux / Жидкие расширения.

Я использую отношение FAL с:

<flux:field.inline.fal name="backgroundimage" minItems="1" maxItems="1" />

Теперь я могу показать свое изображение во внешнем интерфейсе с помощью следующего фрагмента (for / each устарело, у меня есть только одно изображение):

<f:for each="{v:content.resources.fal(field: 'backgroundimage')}" as="image">
    <f:image treatIdAsReference="1" src="{image.id}" alt=""/><br/>
</f:for>

Изображение будет отображаться как <img src="fileadmin/user_upload/.."

Но мне нужно мое изображение в качестве фонового изображения, поэтому я пробовал:

<f:for each="{v:content.resources.fal(field: 'backgroundimage')}" as="image">
 <div class="back" style="background-image: url('{image.id}');"></div>
</f:for>

Но я пойму .. <div class="back" style="background-image: url('1:/Editors_English/image.jpg');"></div>

Я думаю, что treatIdAsReference отсутствует, но как он работает? Я не знаю .. спасибо за вашу помощь.


person user2310852    schedule 05.08.2016    source источник


Ответы (1)


Вам нужно сделать в основном то же самое, что и с изображением в <img>-теге: использовать ViewHelper, чтобы отобразить URL-адрес изображения для вас. В этом случае вам нужен только URL-адрес без тега <img> вокруг него, поэтому вместо этого вам нужно использовать ViewHelper f:uri.image. Также полезно использовать его во встроенной нотации, которая будет выглядеть так:

<f:for each="{v:content.resources.fal(field: 'backgroundimage')}" as="image">
  <div class="back" style="background-image: url('{f:uri.image(src: image.id, treatIdAsReference: 1)}');"></div>
</f:for>

Я не уверен, действительно ли вам нужен параметр treatIdAsReference, вы, вероятно, можете его не указывать.

person Jost    schedule 05.08.2016
comment
Спасибо, Йост. Работает отлично. Параметр treatIdAsReference не нужен, вы правы. - person user2310852; 05.08.2016