Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Problem z Zend Framework
Forum PHP.pl > Forum > PHP > Frameworki
Mad_John
Witam

Próbuje zrobić sobie CMSa na Zend Framework ale napotkałem mały problem. Nie wiem jak uruchomić kontroler z więcej niż jednym parametrem.

Mam stworzony kontroler Class i adres
cms.localhost/class/add_class
adres ten wywołuje formularz dodawania klasy, natomiast chciałbym w tym kontrolerze zrobić akcje
cms.localhost/class/delete_class/1 - gdzie 1 to numer id klasy usuwanej

W jaki sposob odczytać wszystkie te dane? W tym wypadku operuje na akcji deleteclassAction() ale jak odczytac parametr 1?

Poniżej przykład jak odczytuje dane dla adresu cms.localhost/object/1 (dowolny numer ID)

  1. <?php
  2. function __Call($id, $attributes)
  3. {
  4. $id = Zend_Filter::getDigits($id);
  5. echo $id; // pokaze 1
  6. }
  7. ?>
kwiateusz
Przeniesiono: PHP -> Gotowe rozwiązania->Frameworki
Sabistik
Ustaw sobie odpowiednio trasę w routerze.
Mad_John
Już męczę ten artykuł od godziny i nie potrafie skapować jak to działa. Ustawiam sobie trase

  1. <?php
  2. $router->addRoute('user', new Zend_Controller_Router_Route('user/:username'));
  3. ?>


w opisie jest napisane, że mogę sobie pobrać wartość username przez

Zend_Controller_Request::getParam
oraz
Zend_Controller_Action::_getParam

Nie udało mi się pobrać zmiennej username. Potrzebuję stworzyć sobie trasę podobną do tej

user/deleteuser/:user_id

Gdzie i w jaki sposób mam odczytać user_id? Dane te odczytuje sie w kontrolerze user, akcji deleteuser?
Sabistik
Jeśli chcesz mieć tak wszędzie:
  1. <?php
  2. $router->addRoute('user', new
  3. Zend_Controller_Router_Route(':controller/:action/:id'));
  4. ?>


Jeśli tylko w kontrolerze user i akcji deleteuser:
  1. <?php
  2. $router->addRoute('user', new 
  3. Zend_Controller_Router_Route('user/deleteuser/:id', array('controller'=>'user', 'action'=>'deleteuser')));
  4. ?>


Pobierasz tak jak napisałeś wyżej
Mad_John
Dzieki wielkie smile.gif Udało mi się odczytać to ID tylko przez Zend_Controller_Action::_getParam, przez Zend_Controller_Request::getParam nie dało rady, próbowałem załadować tą klasę ale nie mogę jej znaleźć. Metodą loadclass też nie dało się załadować tej klasy (plik nie został znaleziony). W sumie mniejsza z tym, ważne, że dane udało się odczytać smile.gif Pozdrowienia i jeszcze raz dzięki.
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.