解僱控制會話閃光()輸出在CakePHP 1.2
應用程序,我使用添加CakePHP中
<?php $session->flash();?>
像「記錄主編的」輸出消息。它運作良好。
但是,我想添加一個名爲「關閉」的鏈接,將淡出該消息。我知道如何構建鏈接,但我不知道如何插入flass消息的輸出。
該閃光消息包裝自己在DIV tag
。我想將我的解僱代碼插入該div,但我不知道如何。
解僱控制會話閃光()輸出在CakePHP 1.2
應用程序,我使用添加CakePHP中
<?php $session->flash();?>
像「記錄主編的」輸出消息。它運作良好。
但是,我想添加一個名爲「關閉」的鏈接,將淡出該消息。我知道如何構建鏈接,但我不知道如何插入flass消息的輸出。
該閃光消息包裝自己在DIV tag
。我想將我的解僱代碼插入該div,但我不知道如何。
想通了這一點: 在你的佈局文件夾中創建一個新的佈局:
layouts/message.ctp
在這種佈局中,包括了通話輸出內容:
<?php echo $content_for_layout; ?>
然後,當你設置閃光消息,指定要使用的佈局:
$this->Session->setFlash('Your record has been created! Wicked!','message');
要使用setflash功能。如果您將setflash傳遞給$ default的空字符串,它將不會將您的消息包裝在div中,而只是按原樣存儲它。這樣你可以顯示你想要的任何標記,或者作爲賈斯汀發佈的,你可以使用另一個查看頁面來顯示你的消息,這樣你就不會混淆你的視圖和控制器。
默認的做法是在/ app/views/layouts中創建一個flash.ctp。這將覆蓋您可以在/ cake/libs/view/layouts中找到的默認flash.ctp。所以你不需要使用額外的參數。
btw:這適用於所有CakePHP標準視圖和佈局。
您可以使用jQuery實現這一目標:
$(document).ready(function() {
$("#flashMessage").each(function() {
$close = $("<span class='close'>Close</span>");
$close.click(function() {
$(this).parent().hide("slow");
});
$(this).append($close);
});
});
您將需要相當起來帶着幾分CSS的,但我敢肯定你的想法。
我不確定爲什麼我的php代碼行沒有出現。看起來像衛生洗滌劑中的一個錯誤。 – Justin 2008-09-24 15:59:05