最近整個團隊在經過協做完成一個相似各大網站郵件服務的功能!以讓你們把以前所學的內容與實際的項目相結合起來!首先我把本身負責的那小部分功能經過這篇文章總結一下! 咱們先看下效果圖! 功能介紹:統計當前用戶收件箱,發送箱以及保存箱中郵件的數量;當天以及昨天發送和接收郵件的數量。因爲這些統計信息能夠在許多地方使用到,因此我把它作成了一個element! 首先咱們把元素文件放在views/elements/目錄下,其代碼片斷爲:
requestAction(array('controller'=>'notes','action'=>'info')); ?>
info
收件箱:
php
發送箱:
緩存
保存箱:
網站
今日發送:
this
今日接收:
element
昨日發送:
get
昨日接收:
it
請注意requestAction最適合用在(使用了緩存的)頁面元素(element)的相關處理上,用於在渲染頁面以前取得該元素須要的數據。 而後咱們來看下notes控制器中info()action中的代碼片段: //get yesterday sent $ysent = $this->Note->SentNote->find('count',array( 'conditions'=>array( $yconditions, 'SentUser.id' => $this->Auth->user('id') ))); $this->set('ysent',$ysent); if (isset($this->params['requested'])) { return compact('allinbox','allsent','allsaved','todaysent','todayinbox','ysent','yinbox'); } 咱們經過compact()將元素各個數據發送給元素! 那麼當咱們要使用該元素的時候,咱們只須要在其視圖文件中加入如下代碼便可:
element('notes/notes_count'); ?> [...]