2012-11-03 41 views
2

我使用Twig作爲模板引擎。 我想通過Twig渲染我的CSS文件,並利用宏。 我收到的迴應看起來不錯。但不知何故,如果我包含它,HTML頁面不會將其識別爲一個css文件。 當我包含真正的CSS文件時,該網站工作得很好。 收到的源代碼的比較是完全一樣的...使用Twig呈現CSS文件

雖然,Chrome顯示不同的文件。 它在一行上顯示渲染文件。 它可能被解釋爲一個HTML文件。

真正的css文件像源代碼一樣顯示在多行上。

包含擴展名爲.css的兩個文件。 我該如何解決這個問題?

回答

2

你說你得到正確的內容,但它不會被解釋爲CSS。這可能是因爲contenty類型的標題不正確。

Css文件應該發送爲text/css,在Sf中默認爲text/html。在呈現您的CSS的動作中,確保設置正確的標題。

+0

是的,這聽起來合法。你知道如何在Twig中做到這一點? Google不知道答案。 – NSAddict

+0

好吧,它通過設置標題(「Content-Type:text/css」);沒有更優雅的方式嗎? – NSAddict

+0

您可以在'Response'對象的控制器中設置標題。 – Maerlyn

2

也許你應該看看LESS它更有效,而不是解析你的CSS文件。使用LESS,您可以通過變量創建塊和重用函數。

也許它是你的問題的替代方案。

編輯:
Template Suffix
Run CSS file through Twig when using {% stylesheets %} tag in Twig with Symfony2

+0

謝謝,但我想保持這個計劃B.我已經使用Twig來處理所有的文件,這就是爲什麼我想對CSS文件做同樣的事情。 – NSAddict

+0

1+雖然對我的計劃b;) – NSAddict

+0

我已經添加了2個解決方案的鏈接。 – Stony