Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF][ZendFramework] Tworzenie plików php dla widoku
Forum PHP.pl > Forum > PHP > Frameworki
l3szcz
Witam, od razu chciałbym zaznaczyć, że pierwszy raz tworzę w Zend.
Chciałbym zrobić oddzielny plik, dokładniej user.php i wyrenderować widok z /view/scripts/user oraz oczywiście użyć kontrolera UserController.php. Nie wiem jak się za to zabrać a projekt muszę wykonać jak najszybciej. Pomocy! facepalmxd.gif
Turson
w UserController.php
  1. public function userAction(){}


i user.php tam gdzie podałeś
l3szcz
user.php mam w /public - kontroler zrobiony lecz nie wyświetla zawartości.
Turson
Pokaż dokładnie jaki masz kontroler, jak się nazywa i gdzie masz widok
Widok ma mieć rozszerzenie phtml a nie php!
l3szcz
Widok ma rozszerzenie .phtml, plik index.phtml dokładnie.
Plik php trzymam w public, przed application, kontroler to:
  1. <?php
  2. class UserController extends Zend_Controller_Action
  3. {
  4. public function indexAction()
  5. {
  6.  
  7. $this->view->assign('name', 'Panel klienta');
  8.  
  9. $this->view->assign('title', 'Panel klienta');
  10.  
  11. }
  12. }
  13. ?>

Zawartość pliku user.php
  1. <?php
  2.  
  3. $view = new Zend_View();
  4.  
  5. $view->setScriptPath(getcwd() . '/views/scripts/user/');
  6.  
  7. $message = $view->render('index.phtml');
  8.  
  9. ?>


Nie wiem co zaincludować tongue.gif
Turson
W ogóle to o jakiej wersji Zenda mowa?

application/controllers/UserController.php
  1. <?php
  2. class UserController extends Zend_Controller_Action
  3. {
  4. public function indexAction()
  5. {
  6.  
  7. }
  8. }


application/views/scripts/user/index.phtml
  1. hello world


taka powinna być struktura

Masz kontroler Users więc katalog user w scripts, a akcja to index, więc index.phtml jako widok, a adres strona.domena/users
l3szcz
1.12
Turson
Mój poprzedni post odnosi się do tej wersji.
l3szcz
Dobra, zadziałało pod adresem http://adres.pl/users/
ale jak chcę wykonać akcję, np. auth - wyskakuje bład z error controllerem:
Call to a member function hasResource() on a non-object in

Szukałem w necie rozwiązania, jednakże znaleźć nie mogłem.
Turson
Jak masz akcję auth, to mego authAction() w kontrolerze i adres www.adres.pl/users/auth
Oczywiście jeszcze w scripts/user/ ma być widok auth.phtml
l3szcz
Controller auth:
  1. public function authAction()
  2.  
  3. {
  4.  
  5. $request = $this->getRequest();
  6.  
  7. $registry = Zend_Registry::getInstance();
  8.  
  9. $auth = Zend_Auth::getInstance();
  10.  
  11. $DB = Zend_Registry::get("DB");
  12.  
  13. $authAdapter = new Zend_Auth_Adapter_DbTable($DB);
  14.  
  15. $authAdapter->setTableName('users')
  16.  
  17. ->setIdentityColumn('email')
  18.  
  19. ->setCredentialColumn('password');
  20.  
  21. $email = $request->getParam('email');
  22.  
  23. $password = $request->getParam('password');
  24.  
  25. $hash = md5('placki'.sha1($password).'dobreJoinnty124');
  26.  
  27. $authAdapter->setIdentity($email);
  28.  
  29. $authAdapter->setCredential($hash);
  30.  
  31. $result = $auth->authenticate($authAdapter);
  32.  
  33. if($result->isValid()){
  34.  
  35. //print_r($result);
  36.  
  37. $data = $authAdapter->getResultRowObject(null,'password');
  38.  
  39. $auth->getStorage()->write($data);
  40.  
  41. $this->_redirect('/users');
  42.  
  43. } else {
  44.  
  45. $this->_redirect('/users/login');
  46.  
  47. }
  48.  
  49. }


Jestem w dupie, kuźwa :/

Refresh :/
Turson
ALe jaki jest problem
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.