2014-11-03 62 views
1

的:CakePHP的閃光消息沒有顯示,因爲更新緩存

問題:

的Flash消息沒有顯示。

當我在我的應用程序中使用Active/Deactivate/Add/Edit功能時,Flash消息應該顯示但不顯示。

當我清除我的瀏覽器緩存時,它在第一時間正常工作(Flash消息正在顯示)。 但現在我再次使用活動/取消激活/添加/編輯Flash消息沒有顯示。 再次當我清除我的瀏覽器緩存它工作正常。

我想出緩存問題。 但是我怎麼能擺脫這個緩存問題。

前面的問題:

我必須找出緩存問題。

我有一個關鍵問題。 CakePHP一臺PC上的Chrome,Fire Fox瀏覽器中未顯示Flash消息,但Chrome,Fire Fox瀏覽器在其他PC上顯示相同的Flash消息,而且在兩個瀏覽器上都無法使用JavaScript。

有什麼問題?

我檢查了其他20臺PC,Flash消息在兩個瀏覽器中都正常工作。

+1

所以清除緩存,檢查http://book.cakephp.org/2.0/en/core-libraries/caching.html – 2014-11-03 08:45:24

回答

0

解決方案我..

in AppController的:保存,編輯操作之後

function beforeRender() { 
    parent::beforeRender(); 
    $this->response->disableCache(); 
} 
+0

這種方法排除所有視圖緩存,同樣可以通過刪除緩存幫手 – Salines 2014-11-04 09:33:31

+0

好.. thanx ..我也會嘗試與您的解決方案。 :) – 2014-11-04 09:39:01

2

我想你使用緩存助手。

以下是他說CakePHP documentation

標記在瀏覽

會有時候,你不想要一個完整的視圖緩存非緩存的內容。例如,頁面的某些部分可能看起來不同,無論用戶當前是否已登錄或以訪客身份瀏覽您的網站。

爲了表明不被緩存的內容塊,包起來

<!--nocache--> <!--/nocache-->像這樣:

<!--nocache--> 
<?php if ($this->Session->check('User.name')): ?> 
    Welcome, <?php echo h($this->Session->read('User.name')); ?>. 
<?php else: ?> 
    <?php echo $this->Html->link('Login', 'users/login'); ?> 
<?php endif; ?> 
<!--/nocache--> 

你的情況:

<!--nocache--> 
$this->Session->setFlash('My text here'); 
<!--/nocache--> 
+1

日Thnx爲您答.. :) – 2014-11-03 11:31:53

+0

我已經解決了這個沒有插件在我的情況下..:) thankx – 2014-11-04 07:43:21