Potrzebuję ustawić zmienną w app_controller z CakePHP, a następnie użyć go w moim domyślnym pliku układu.Ustaw zmienną w app_controller i użyj jej w układzie CakePHP
Czy istnieje sposób na ustawienie tej zmiennej?
Potrzebuję ustawić zmienną w app_controller z CakePHP, a następnie użyć go w moim domyślnym pliku układu.Ustaw zmienną w app_controller i użyj jej w układzie CakePHP
Czy istnieje sposób na ustawienie tej zmiennej?
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.
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);
}
Można to wykorzystać, aby ustawić zmienną: $ this-> set (compact ('currentJobId'));
Ustawi tablicę w tym samym czasie, w którym ustawi wartości.