Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana]kohana 3 problem
Forum PHP.pl > Forum > PHP > Frameworki
michal0825
Witam, mam problem dotyczący absolutnych podstaw, a mianowicie przekazywania zmiennych z kontrolera do widoku.
Mam następujący kod w kontrolerze:
  1. $result = "abecad";
  2. $widok=new View('pages/users_register');
  3. $widok->bind('res', $result);
  4. // var_dump($widok);
  5. $this->request->response = $widok->render();

oraz w widoku:
  1. echo $res;


Niestety wywala błąd undefined variable res. Proszę o pomoc.
gothye
spróbuj tak :
  1. $widok->res = $result
bzeebzee
  1. $widok = View::factory('strona');
  2. $widok->abcd = 'abcd';
  3.  
  4. // odwołanie do zmiennnej 'abcd' w widoku 'strona.php'
  5. echo $abcd;
michal0825
Wszystkie te rozwiązania wywalają undefined variable.
gothye
na pewno wywołujesz zmienną w widoku : pages/users_register ?
michal0825
tak
gothye
pokaż dla pewności kontroller oraz widok
michal0825
Pokaże na akcji login, jest czytelniejsza, a problem występuje tak samo.
Kontroler: (classes/controller/users.php)
  1. public function action_login()
  2. {
  3.  
  4. $result = "abecad";
  5. $widok=new View('pages/users_login');
  6. //$widok->bind('res', $result);
  7. $widok->res = $result;
  8. // var_dump($widok);
  9. // $this->request->response = $widok->render();
  10. $this->response->body(new View('pages/users_login'));
  11.  
  12. }


i widok: (views/pages/users_login.php)
  1. <?php
  2. echo $res;
  3.  
  4. ?>
Crozin
Przecież w linii #10 z pow. listingu tworzysz i przekazujesz nowy obiekt View, który nie ma dodanej żadnej zmiennej, więc skąd niby miałaby się nagle wziąć ona w szablonie?
michal0825
Jak usunę tą linię to cokolwiek napisze w widoku się nie wyświetli, np echo "hello". Jak w takim razie rozwiązać to, żeby było dobrze?
gothye
tutaj
przekazujesz object $this->response->body($widok);

bez potrzeby tworzenia nowego
michal0825
Dzięki gothye, działa, Dopiero 2 dzień z tym frameworkiem. Temat do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.