2013-07-08 38 views
1

查詢時變種添加到CSS URL目前我們做到這一點:如何使用的HtmlHelper

echo $this->Html->css('cake.generic'); 

...這會導致這樣的:

<link rel="stylesheet" type="text/css" href="/css/cake.generic.css"> 

但我想是這樣的:

<link rel="stylesheet" type="text/css" href="/css/cake.generic.css?v=1.2.3"> 

(注意在HREF的端查詢VAR)

我試過,但沒有奏效:

echo $this->Html->css('cake.generic.css?v=1.2.3'); 

...它仍然輸出這個:

<link rel="stylesheet" type="text/css" href="/css/cake.generic.css"> 

有沒有辦法來添加查詢瓦爾無需手動編寫完整<link>...</link>資源的URL進入佈局?

我讀the section in the book並沒有提及如何做到這一點。 PS:爲什麼我想這樣做與回答這個問題無關,但是如果您好奇,我會使用這種策略來防止問題緩存在返回用戶查看需要更新CSS的頁面時導致的問題。增加查詢變量強制新文件加載而不是過時的緩存版本。

+0

它不會幫助解決你的問題,但我想通過在URL(同爲JS)結束使用時間戳來執行相同。這樣我就不必在乎我是否修改了var,以便強制重新下載。但是,這當然意味着文件永遠不會被緩存。也可以是文件最後修改日期的時間戳。 –

+1

您使用哪種CakePHP版本?至少在CakePHP 2.3.7中,你的代碼片段工作正常。 – dhofstet

+0

也只是在2.3測試,它的工作原理,因爲你已經嘗試過。 –

回答

0

以下添加到您的應用程序在bootstrap.php中

Configure::write('Asset.timestamp', true); 

反過來調試過。

您現在有時間戳資產。

如果你想在調試模式下也Configure::write('Asset.timestamp', 'force');

+0

哇的頭。太棒了!時間戳是當前時間嗎?還是來自文件修改的時間? – emersonthis

+0

修改時間,當前時間將是毫無意義的。 – dogmatic69

+0

完美!謝謝。 – emersonthis

相關問題