如何使用 SonataMediaBundle 在树枝中获取图像路径?

Posted

技术标签:

【中文标题】如何使用 SonataMediaBundle 在树枝中获取图像路径?【英文标题】:How to get image path in twig using SonataMediaBundle? 【发布时间】:2016-01-15 06:56:05 【问题描述】:

我正在使用 SonataMediaBundle 来跟踪我的图像。我可以使用 Sonata 的助手在树枝中渲染图像:

% media user.profilepic, 'reference' %

这将呈现为<img src="the src">

但是,我想要获得的是裸路径,所以我可以例如向我的 img 添加一个类。比如:

<img class="img-responsive" src=" asset(user.profilepic) ">

显然,asset(user.profilepic) 不返回路径,而是返回对象,并且该对象似乎不包含图像的路径。

编辑

也找到了我的部分答案:

% set foo %
     % path image, 'small' %
% endset %
<img src=" asset(foo) " />

显然可以将块的输出设置为变量,然后将其传递给资产函数。

【问题讨论】:

【参考方案1】:

有一个documentation 供帮助者使用

有多种选择。媒体助手支持指定类

% media media, 'small' with 'class': 'myclass' %

您也可以使用“路径”帮助器仅渲染路径:

% path media, 'small' %

【讨论】:

但是我如何将该路径放入 img 的 src 中?或者我如何将它传递给asset() 函数? @GeorgeIrimiciuc 您是否尝试过第一个选项?它将呈现为具有指定类的 img。如果此选项不符合您的期望,您可以尝试 哇,就这么简单?不敢相信。请也将其添加到答案中。 还有一个问题,是否可以做类似asset(% path media, 'small' %) 的事情?因为我得到了一个相对路径,我需要将它传递给资产函数。

以上是关于如何使用 SonataMediaBundle 在树枝中获取图像路径?的主要内容,如果未能解决你的问题,请参考以下文章

SonataMediaBundle - 如何上传图片?

使用 SonataMediaBundle,我如何找出可用的媒体提供商?

如何将 SonataMediaBundle 画廊限制为单个提供商?

如何从SonataMediaBundle的图库中获取图像网址,以便与FOSRestBundle一起使用?

使用 SonataMediaBundle 上传到 AmazonS3

未使用 SonataMediaBundle 找到 ManagerInterface