2011-01-05 11 views

Trả lời

12

Tôi nghĩ ý anh ấy là gì, rằng anh ta không biết phải đặt biến ở đâu vì anh ta không có chức năng cụ thể bên trong bộ điều khiển. Để có một biến (hoặc bất cứ điều gì khác thực sự) có sẵn ở khắp mọi nơi, bạn cần phải đặt nó trong AppController của bạn như thế này:

function beforeFilter() 
    { 
    $this->set('whatever', $whatever); 
    } 

Thông tin thêm về các chức năng gọi lại here.

5

Chức năng gọi lại trong AppController là vị trí cho $ this-> set() biến mà bạn muốn có sẵn cho tất cả các dạng xem và bố trí của bạn. beforeFilter() được gọi trước tất cả các hành động của controller. Nếu bạn muốn đặt biến số lượt xem sau khi một hành động đã chạy, hãy sử dụng beforeRender(). Bạn có thể truy cập các biến chế độ xem khác của bạn trong mảng kết hợp $ this-> viewVars này.

function beforeRender() { 
    $new = "Universal " . $this->viewVars['layoutTitle']; 
    $this->set('universalTitle', $new); 
} 
0

Bạn có thể sử dụng điều này để đặt biến: $ this-> set (compact ('currentJobId'));

Nó sẽ đặt mảng cùng một lúc nó sẽ đặt giá trị cho nó.