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