1

我需要知道如何在模板中使用资产。我想将社交媒体按钮/链接添加到模板,因此认为最简单的方法是使用媒体浏览器,但我知道我不知道如何获得这些图像文件的正确 URI。

我尝试了类似的东西

<img src="{f:uri.resource(path: asset://...identifier... />   
<m:image image="{asset://...}" alt='Facebook'/>

但我不明白。

也许我必须将这些文件放在 Resouce 文件夹中,但我希望我可以使用媒体浏览器来完成。

希望我能让我的问题足够清楚。

4

1 回答 1

1

在这种特殊情况下,如果我是您,我只需将这些社交按钮添加到My.Site/Resources/Public/images/social资源视图助手中并使用它们:

{f:uri.resource(path: 'images/social/fb.png', package: 'My.Site')}

从媒体浏览器复制资产标识符并将其硬编码到模板中是没有意义的。这些 id 在您的同事数据库中可能不同,您的客户可能会意外删除此资产等等。

因此,我建议将这些社交按钮(可能是精灵)添加到包的静态资源中,使用所有社交按钮创建部分按钮,并在需要它们的页面/节点模板中使用此部分按钮。


如果您真的想使用其中一个media:imagemedia:uri.image查看助手,则需要将资产对象(而不是标识符)作为参数传递。用于该节点属性 - 将 fbIcon、twitterIcon 等添加type: TYPO3\Media\Domain\Model\ImageInterface到您的节点定义中NodeTypes.yaml,然后插入节点并从媒体浏览器中选择您的图标(使用检查器),然后在您的节点模板中:

{namespace media=TYPO3\Media\ViewHelpers}
<ul>
<li><a href="#"><media:image image="{fbIcon}" alt="fb" />..
<li><a href="#"><media:image image="{twitterIcon}" alt="twitter" />..

我已经有一段时间没有使用 Neos 了,所以它可能会有所改变。当然,您可以创建自己的视图助手,它会接受资产 ID,并使用 AssetRepository 和 ResourceManager,您可以将公共 uri 返回到模板。

于 2016-01-25T23:21:56.053 回答