Dodanie podstrony do net47
(Różnice między wersjami)
Duri (dyskusja | edycje)
(Utworzył nową stronę „Opis co należy zrobić. * Chcemy utworzyć podstronę np. <pre>http://adresnet47/firma/informacja</pre> * Tworzymy plik '''FirmaController.php''' w: <pre>/home/n...”)
następna edycja →
(Utworzył nową stronę „Opis co należy zrobić. * Chcemy utworzyć podstronę np. <pre>http://adresnet47/firma/informacja</pre> * Tworzymy plik '''FirmaController.php''' w: <pre>/home/n...”)
następna edycja →
Wersja z 14:31, 5 mar 2015
Opis co należy zrobić.
- Chcemy utworzyć podstronę np.
http://adresnet47/firma/informacja
- Tworzymy plik FirmaController.php w:
/home/net47/application/modeules/net47/controllers/
- Przykładowy kod (każdy kontroler musi posiadać funkcję init!)
<?php class FirmaController extends Zend_Controller_Action { //jeśli chcemy mieć w całym kontrolerze np. dostęp do bazy danych dodajemy funkcję init() public function init() { //dodajemy własność w której trzymamy połączenie z bazą danych, możemy jej używać we wszystkich akcjach kontrolera $this->db = Zend_Registry::get('db'); } //teraz dodajemy naszą podstronę(akcję) informacja public function informacjaAction() { // jeśli chcemy cały kod html umieścić bezpośredonie w kodzie akcji, musimy wyłączyć widok $this->_helper->viewRenderer->setNoRender(); /* * jeśli tego nie zrobimy, musimy w /home/net47/application/modules/net47/views/ * utworzyć katalog odpowiadający nazwą naszemu kontrolerowi, w tym przypadku katalog musi się nazywać "firma" * w tym katalogu tworzymy plik z rozszerzeniem phtml odpowiadający nazwie akcji czyli informacja.phtml * w tym pliku (widoku) dodajemy sobie html który wyświetli się po wejściu na podstoronę informacja * * możemy przekazywać zmienne z akcji do widoku np. * $this->view->ile_klientow = $ile; * a następnie w widoku wyświetlić np. <strong>Mamy <?=$this->ile_klientow?> klientow</strong> */ // jeśli nie chcemy korzystać z layoutu net47, np chcemy wyświetlić białą stronę z tekstem, możemy go wyłączyć $this->_helper->getHelper('layout')->disableLayout(); //mamy połączenie z bazą danych, możemy pobrać np liczbę klientów $ile = $this->db->fetchOne("select count(id) from client.customers"); echo "Mamy $ile klientów"; } //jeśli chcemy żeby jakaś podstrona była pod adresem http://adresnet47/firma/ dodajemy funkcję indexAction(domyślna akcja) public function indexAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); echo 'test'; } } ?>