Dodanie podstrony do net47
Z Net47 2.0
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';
}
}
?>