在这种特殊情况下,如果我是您,我只需将这些社交按钮添加到My.Site/Resources/Public/images/social
资源视图助手中并使用它们:
{f:uri.resource(path: 'images/social/fb.png', package: 'My.Site')}
从媒体浏览器复制资产标识符并将其硬编码到模板中是没有意义的。这些 id 在您的同事数据库中可能不同,您的客户可能会意外删除此资产等等。
因此,我建议将这些社交按钮(可能是精灵)添加到包的静态资源中,使用所有社交按钮创建部分按钮,并在需要它们的页面/节点模板中使用此部分按钮。
如果您真的想使用其中一个media:image
或media: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 返回到模板。