Domyślnie budowa linku w Zend Framework jest mniej więcej taka. Najpierw pobierana jest nazwa kontrolera a potem nazwa akcji a na końcu przekazane są parametry wraz z ich wartościami.
Przyjmijmy że projekt nazywa się nauka_zend i mamy odpalony go na localhost, nazwa kontrolera to standardowo index a akcja którą chcemy wywołać nosi nazwę kontakt, parametry które przekażemy to numer kontaktu (nr) z wartością np. 5
http://localhost/nauka_zend/index/kontakt/nr/5
Aby to zadziałało to w głównym kontrolerze aplikacji musi znajdować się metoda kontaktAction, oraz musi być utworzony plik application/views/scripts/index/kontakt.phtml, plik ten zostanie wczytany do wnętrza wcześniej utworzonego layout’u. Powyższy link można wywołać też w taki sposób
http://localhost/nauka_zend/index/kontakt?nr=5
Zachowanie i sposób dostępu do parametrów nie ulegną zmianie. Przykładowy plik kontrolera może wyglądać następująco (pomijam metodę indexAction):
class IndexController extends Zend_Controller_Action
{
public function kontaktAction()
{
$this->view->nr = $this->_getParam("nr");
}
}
Jeśli zapomnimy utworzyć pliku, bądź metody w kontrolerze, lub użytkownik wywoła nieistniejącą akcję to zostanie zwrócony błąd. Jeśli natomiast nasza akcja nazywa się przykładowo kontakt-dzial-techniczny to nazwa metody w kontrolerze powinna być pozbawiona kresek czyli tak: kontaktDzialTechnicznyAction();
Marzec 3rd, 2010 at 14:32
a w ktorym miejscu na serwerze zmienic zeby od razu ladowal plik index.php po wejsciu na http://localhost/nauka_zend/ a nie http://localhost/nauka_zend/public/
Marzec 3rd, 2010 at 18:34
Zajrzyj do działu “Pierwsze uruchomienie projektu”
Listopad 22nd, 2010 at 11:33
najlepiej zrobic vhosta, awentualnie zmiany w .htaccess
Kwiecień 23rd, 2011 at 18:54
główny kontroler to index.php?
kotaktAction ma być w nim czy kontakt.phtml?
Kwiecień 23rd, 2011 at 19:39
ok, już wszystko jasne, nie doczytałem uważnie