首页 > 解决方案 > 删除由 ImageViewHelper 创建的路径中的尾部斜杠

问题描述

我正在尝试使用 Fluid 将 CSS 代码添加到模板文件中。我想渲染一个上传的背景图像/fileadmin/user_upload/foo.jpg 但是,返回 带有斜杠{images.0.url}的路径,然后当然会引发以下错误:/fileadmin/user_upload/foo.jpg/

TYPO3Fluid\Fluid\Core\ViewHelper\Exception

提供的文件对象类型 TYPO3\CMS\Core\Resource\Folder 必须是 File 或 FileReference。

如何从路径中删除尾部斜杠?

下面显示了相关的代码片段。请注意,v:format.prepend此处仅用于调试目的,对问题没有影响。

    <f:section name="Header">
        <v:page.resources.fal table="pages" field="media" uid="{page.uid}" as="images" slide="-1" >
            <v:asset.style name="header">
                header#header <f:format.raw>{</f:format.raw>
                background-image: url(<f:uri.image src="{v:format.prepend(add: '', subject: '{images.0.url}')}" treatIdAsReference="1" />)
                <f:format.raw>}</f:format.raw>
            </v:asset.style>
        </v:page.resources.fal>

        <f:render section="Default"  partial="DefaultHeader" arguments="{_all}"/>
    </f:section>

标签: typo3fluidview-helpers

解决方案


您是否考虑过以下问题?您可以删除包装 vhs ViewHelper 并直接访问第一个媒体。

<v:asset.style name="header">
                header#header <f:format.raw>{</f:format.raw>
                background-image: url({f:uri.image(image:data.media.0})
                <f:format.raw>}</f:format.raw>
            </v:asset.style>

推荐阅读