3
我正在使用Twig循环为多个图像生成<img src="">
。我最终使用这段代码是为了在Framework配置中利用带有base_url的CDN。Symfony2 Twig Asset Base_Url正在不可预知?
下面是Twig
代码:
{% for key, mobj in productmedia.getImages %}
<img src="{{ asset(path('cropImage', {'filename': mobj.getFilename }),'cdn') }}" />
{% endfor %}
{% for key, mobj in productmedia.getImages %}
<img src="{{ asset(path('cropImageSm', {'filename': mobj.getFilename }),'cdn') }}" />
{% endfor %}
我所期望的,至少是为了有输出一定的一致性..但似乎SF2有时会使用一个BASE_URL有时不是使用一个。为什么会这样?
以下是输出。
<img src="http://cdn.cloudfront.net/cri/1/matt-skydiving.SH340_SW340.jpg" />
<img src="/cri/1/Swimming.SH340_SW340.jpg" />
<img src="http://cdn.cloudfront.net/cri/1/successman2.SH340_SW340.jpg" />
<img src="/cri/1/matt-skydiving.SH40_SW40.jpg" />
<img src="http://cdn.cloudfront.net/cri/1/Swimming.SH40_SW40.jpg" />
<img src="http://cdn.cloudfront.net/cri/1/successman2.SH40_SW40.jpg" />
正如你可以在第一个循环看到..一些继承BASE_URL ..有些不..我已经清除了所有的缓存..做好了所有的一般调试步骤。它不理解为什么这不一致。
谢谢卡洛斯!有一个原因,我想通过'url()'使用'path()'。 Url()会给你一个绝对的URL,而Path()会为你提供相对的URL。但是当你使用asset()函数时,你可以动态地插入你的configuration.yml框架部分指定的base_urls。我发现我的问题是我的配置文件中缺少**%**。在我添加缺少的**%**之后,我的结果就是我的预期。 – JustinP 2012-07-11 16:49:31