Dodanie podstrony do net47

Z Net47 2.0
Wersja Duri (dyskusja | edycje) z dnia 14:31, 5 mar 2015
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacji, wyszukiwania

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';
    }
}

?>
Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Konfiguracja Systemu
Szablony
API
PostgreSQL
Narzędzia
MENU