2008-09-24 70 views
0

解僱控制會話閃光()輸出在CakePHP 1.2應用程序,我使用添加CakePHP中

<?php $session->flash();?> 

像「記錄主編的」輸出消息。它運作良好。

但是,我想添加一個名爲「關閉」的鏈接,將淡出該消息。我知道如何構建鏈接,但我不知道如何插入flass消息的輸出。

該閃光消息包裝自己在DIV tag。我想將我的解僱代碼插入該div,但我不知道如何。

回答

1

想通了這一點: 在你的佈局文件夾中創建一個新的佈局:

layouts/message.ctp 

在這種佈局中,包括了通話輸出內容:

<?php echo $content_for_layout; ?> 

然後,當你設置閃光消息,指定要使用的佈局:

$this->Session->setFlash('Your record has been created! Wicked!','message'); 
+0

我不確定爲什麼我的php代碼行沒有出現。看起來像衛生洗滌劑中的一個錯誤。 – Justin 2008-09-24 15:59:05

1

要使用setflash功能。如果您將setflash傳遞給$ default的空字符串,它將不會將您的消息包裝在div中,而只是按原樣存儲它。這樣你可以顯示你想要的任何標記,或者作爲賈斯汀發佈的,你可以使用另一個查看頁面來顯示你的消息,這樣你就不會混淆你的視圖和控制器。

0

默認的做法是在/ app/views/layouts中創建一個flash.ctp。這將覆蓋您可以在/ cake/libs/view/layouts中找到的默認flash.ctp。所以你不需要使用額外的參數。

btw:這適用於所有CakePHP標準視圖和佈局。

1

您可以使用jQuery實現這一目標:

$(document).ready(function() { 

    $("#flashMessage").each(function() { 
     $close = $("<span class='close'>Close</span>"); 
     $close.click(function() { 
      $(this).parent().hide("slow"); 
     }); 
     $(this).append($close); 
    }); 

}); 

您將需要相當起來帶着幾分CSS的,但我敢肯定你的想法。