2013-06-11 27 views
1

作爲一個Symfony2的應用程序中的導出過程的一部分,我需要所有的樹枝資產()調用返回的只是一個相對路徑,像這樣:有無嫩枝資產()調用返回相對URL

images/image.png 

默認行爲是以「/」字符作爲前綴。我如何擺脫這個正斜槓?我只想改變它的這一個過程,而不是其他應用程序。

+0

爲什麼? Twigs asset()檢測應用程序在什麼情況下運行,並將其預先設置爲給定的相對路徑 –

+0

因爲我將它導出爲用於iPad應用程序的平面HTML文件。顯然,在那裏留下正斜槓意味着這些文件嘗試和引用任何iPad的docroot而不是應用程序的文件位置......至少,這是iPad應用程序作者告訴我的。 – Uthr

回答

0

我並不十分喜歡這個解決方案,但它的工作原理:

{{ asset('something.png') | slice(1) }} 

slice(x, y)開始創建與X的子字符串,長度爲Y(如果有的話)。

+0

問題是我無法修改枝條模板文件;該過程正在製作網站最終顯示的HTML頁面的一部分的靜態副本,但該網站本身必須保持不變。 – Uthr

+0

嗯。我不確定我完全理解你想要完成的任務,但有兩點可能會有所幫助。首先,你可以編寫自己的資產擴展。 這裏有一個很好的博客文章:http://richardmiller.co.uk/2011/05/24/symfony2-make-your-own-assetic-filter/我從來沒有做過,但似乎你需要注意AssetInterface :: setTargetPath()。 其次,您可能對assets_base_urls設置有一些好運。在這裏看到更多關於這方面的信息:http://symfony.com/doc/2.0/reference/configuration/framework.html#assets-base-urls –

+0

當應用程序運行時,assets_base_urls參數無法更改,它似乎喜歡。 一個資產擴展可能是最強大的方式來做我以後的事情,我會在晚些時候進一步研究。 現在,我在渲染模板之後最終得到了HTML字符串,並使用一系列str_replace()調用來擺脫圖像,JS文件,鏈接和CSS文件的正斜槓。 我正在將您的答案標記爲正確答案,因爲您的評論使我對這個問題有一個很好的指導。 – Uthr