Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Jak zrobić...?
Forum PHP.pl > Forum > PHP > Frameworki
Asmox
Zacząłem się uczyć korzystania z Zend Frameworka, znalazłem fajnego tutka http://www.heavymind.net/zend-framework-tutorial/ (POLECAM!). Doszedłem do przykładu Wspólny kod HTML
W Bootstrapperze (index.php), dla większego pojęcia o różnorakich błędach wstawiłem łapanie wyjątków, standardowym blokiem try...catch.
Po utworzeniu plików header.phtml i footer.html ustawiłem ich dołączanie, no i mi wyskoczył wyjątek:
Cytat
script 'header.phtml' not found in path (.\application\views\scripts\)

Mój układ folderów jest taki, jak podany w tym tutorialu, a potrzebne nagłowek i stopka są folder głębiej (application\views\scripts\index)
Oczywiście dodanie informacji, że plik znajduje się dodatkowo w folderze index rozwiązuje problem, ale ja chciałbym wiedzieć, jak zamiast:
  1. <?php echo $this->render('index/header.phtml'); ?>
  2. <h1><?php echo $this->escape($this->title); ?></h1>
  3. <?php echo $this->render('index/footer.phtml'); ?>

..zrobić to bez tego index/
skowron-line
Jeżeli masz standardowy układ katalogów to scieżka powinna być taka:
Kod
.\application\views\scripts\

i tu powinienes miec footer.phtml

a odwołanie to
  1. <?php
  2. $this->render( 'footer.phtml' );
  3. ?>
Asmox
ahhh faktycznie, nie zauważyłem smile.gif Dzięki
znaczy, że te pliki mają być w scripts a nie w scripts/index
hm.. a właściwie to dobrze, że te pliki tam mają być, czy lepiej by było, jakby były w tym samym folderze co szablony
czachor
Założenie jest takie, że jest to wspólny kod dla wszystkich szablonów, więc jak najbardziej. Jeśli chcesz mieć osobny kod dla każdego szablonu, to wrzucasz pod szablony.

BTW: Genialny tutorial. Lepszego nigdzie nie znalazłem.
Asmox
A teraz coś z zupełnie innej beczki:
wycinek kodu:
  1. <?php
  2. else {
  3.        $id = (int)$this->_request->getParam('id', 0);
  4.        echo $id;
  5.        if ($id > 0) {
  6.          $this->view->album = $album->fetchRow('id='.$id);
  7.        }
  8.      }
  9. ?>

z działu Edytowanie Albumu
Nie wiem dlaczego, ale jak zamienię w getParam drugi parametr na jakąś liczbę, to mi pobiera ten album o tej liczbie. W ogóle olewa ten pierwszy, mogę sobie wpisać co tam chcę. Kiedy drugi parametr jest domyślnie na 0, to mi wypisuje błąd w każdym polu tekstowym:
Cytat
Notice: Trying to get property of non-object in [...]
skowron-line
http://framework.zend.com/manual/en/zend.c...er.request.html
12.4.3
  1. <?php
  2. /**
  3.      * @param string $key
  4.      * @return mixed
  5.      */
  6.    public function getParam($key);
  7. ?>
Asmox
hm.. tak, to załapałem. Nawet jak się wpisze http://localhost/zf-tutorial/index/edit/id1?id=x to zadziała. Tylko nie wiem w czym tkwi problem. Może nie wyłapuje tej jedynki z adresu?
skowron-line
Kod
http://localhost/zf-tutorial/index/edit/id1

tylko tak
Kod
http://localhost/zf-tutorial/index/edit/id/1
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.