2011-01-05 19 views

Odpowiedz

12

Myślę, że miał na myśli to, że nie wie, gdzie ustawić zmienną, ponieważ nie znajduje się w określonej funkcji wewnątrz kontrolera. Aby mieć zmiennej (lub czegokolwiek innego, naprawdę) dostępne wszędzie, trzeba umieścić go w AppController tak:

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

Więcej na temat tych funkcji zwrotnych here.

5

Funkcje wywołania zwrotnego w AppControllerze to miejsce, w którym zmienne $ this-> set() są dostępne dla wszystkich widoków i układów. Funkcja beforeFilter() jest wywoływana przed wszystkimi działaniami kontrolera. Jeśli chcesz ustawić zmienną widoku po uruchomieniu akcji, użyj przedRender(). Możesz uzyskać dostęp do innych zmiennych widoku w tablicy asocjacyjnej $ this-> viewVars.

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

Można to wykorzystać, aby ustawić zmienną: $ this-> set (compact ('currentJobId'));

Ustawi tablicę w tym samym czasie, w którym ustawi wartości.

Powiązane problemy