Ing. Jan Mittner
1. Základy MVC 2. Rozšíření layoutu 3. helpery 4. Bootstrap a přepis URL adres 2
IndexController přibyly nové akce ▪ about – metoda aboutAction() + šablona about.phtml ▪ contact – metoda contactAction() + šablona contact.phtml 3
Modely (v adresáři /application/models) Product ▪ datový objekt nesoucí informace o jednom produktu Products ▪ kontejner na instance jednotlivých objektů produktů ▪ díky implementaci rozhraní Iterator je možné procházet objekt pomocí foreach cyklu ProductController metoda init() ▪ spouští se vždy před spuštěním libovolné akce controlleru ▪ obsahuje inicializaci dat s využitím modelů akce indexAction() ▪ zajišťuje zobrazení seznamu produktů + šablona index.phtml (adresář product) akce previewAction() ▪ zajišťuje zobrazení náhledu produktů + šablona preview.phtml (adresář product) ▪ pomocí metody getRequest() v controlleru získáme referenci na objekt požadavku klienta, kde zjistíme i ID požadovaného produktu z URL 4
menu do hlavní šablony layoutu (layout.phtml) přibylo menu pro generování interních URL adres je využit helper url() includy hlavní šablona layoutu integruje další dílčí šablony layoutu prostřednictvím metody render() ▪ header.phtml – hlavička stránky ▪ logo.phtml – logo stránky ▪ footer.phtml – patička stránky 5
objekt Bootstrap se spouští vždy při spuštění aplikace obsahuje úvodní inicializaci nastavení společnou pro všechny nebo alespoň většinu akcí je uložen v rootu adresáře /application krom technických metod obsahuje Bootstrap i přepis URL metoda _initRequest() obsahuje definici přepisovacích pravidel 6
helpery se snaží usnadnit programátorovi dílčí opakované činnosti, zpravidla v rámci šablon v projektu jsou použity předpřipravené helpery: escape – bezpečnostní ošetření výpisu obsahu proměnných na výstup proti nebezpečnému kódu url – vygenerování interní URL na základě parametrů redirect – přesměrování na vybranou URL vlastní helpery je také možné vytvářet příslušné objekty v adresáři /application/views/helpers nebo přímo v library cleanUrl – očištění textu do URL od problematických znaků 7
1. vytvořte nový controller, v něm několik akcí a příslušné view skripty 2. přidejte přepisovací pravidla do třídy Bootstrap 3. přidejte položku do menu 8