W zasadzie nic nie próbowałem, ponieważ nie znalazłem nic w dokumentach, które sprawdziłem.

Zasadniczo chcę przejść zmienną, tj. $balance Dostępne byłoby to w zakresie layouts/main.php Plik:

Gdzie mogę powiedzieć coś takiego:

$balance = MyClass::myMethod();

return $this->render('main', [
    'balance' => $balance,
]);

Dziękuję Ci. Mam nadzieję, że każdy rozumie.

1
Zlatan Omerović 15 luty 2017, 17:11

3 odpowiedzi

Najlepsza odpowiedź
// layouts/main.php
var_dump($this->params);

// action method
$this->view->params['balance'] = $balance;

Przyjrzyj również wygląd http: //www.yiiframework. COM / Doc-2.0 / Guide-Structure-Views.html # Korzystanie z bloków

3
cetver 15 luty 2017, 15:11

Założenie: Używasz szablonu zaawansowanego i masz strukturę katalogową podobną do Wprowadź obraz Opis tutaj .

Proces uruchamia się wokół YII Widok- & GT; BegonTent (), zwraca: Wpisz opis obrazu tutaj.

Domyślnie/frontend/views/layouts/base.php nazywa się jako "Viewfile"; który w obciążeniu ładuje _Clear, który z kolei ładuje główny, który w końcu wyświetla zawartość $ treści.

Aby zastąpić domyślną wartość $ treści, nadpisanie domyślnego zachowania * View-> BegonTent () jest konieczne.

Spróbuj stworzyć metodę zdefiniowaną jako

2
David J Eddy 16 maj 2018, 14:03

Najpierw możesz wysłać tę zmienną, aby wyświetlić plik,

$balance = MyClass::myMethod();

return $this->render('myview', [
'balance' => $balance,
]);

Możesz więc utworzyć plik myView.php w views/controller_name/myview.php

Możesz uzyskać dostęp do zmiennej bezpośrednio $balance. Teraz możesz przekazać tę zmienną do Main.php (jeśli jest to plik układu) przy użyciu params w myview.php.

$this->params['balance']  = $balance;

I uzyskaj dostęp do zmiennej w main.php przez $this->params['balance'].

0
Shrikant 15 luty 2017, 14:48