====== MVC a Smarty ====== ===== Instalace Smarty ===== V souboru {{courses:A7B39WA1:tutorials:08:mvc.zip|}} je připravený balíček skriptů obsahující Smarty engine. Balíček rozbalte do Vámi zvoleného adresáře viditelnéno z webu. Pro správnou funkci je nutné, aby měl Smarty právo zápisu do adresářů ''var/templates_c'' a ''var/cache''. Toto zajistíte příkazem ''chmod 777 var/templates_c var/cache'' z shellu. Prostudujte ukázkovou aplikaci a identifikujte jednotlivé části MVC. ===== Svátky ===== Doplňte kód controlleru nameday.php (NamedayController) a view nameday.xhtml tak, aby aplikace měla následující funkcionalitu: - kontrola správného vyplnění datumu (datum musí existovat, správný tvar) - při chybném vyplnění datumu zobrazte chybovou hlášku - při prvním načtení formuláře hlášku nezobrazujte - při chybě vyplňte formulářová pole tak, aby obsahovala uživatelem vyplněné hodnoty ===== Články ===== mějme články (Articles) načtené z DB (zajišťuje model). Datová struktura je dvourozměrné pole. - Vypište seznam článků ve formě Titulek, Autor, Náhled textu. - Výpis formátujte tak, že liché řádky budou mít jinou barvu pozadí než sudé. - Zapněte cache takovou, že články se budou aktualizovat jen jednou za 1 minutu. - dejte pozor na to, aby se nenačítaly články z modelu, pokud to není nutné - V GET parametru isadmin předávejte hodnotu 1 nebo 0 podle toho, zda daný uživatel má či nemá adminová práva. Administrátoři vidí vždy aktuální stav článků (bez cache), ostatní vidí články se cache 1 minuta. ===== Propojení s DB ===== Propojte RecordController s DB pomocí ClientPoll z předchozího cvičení. Soubory naleznete ve složce utils/model - Vypište seznam záznamů z tabulky pomocí třídy Client. ===== Materiály ===== {{courses:A7B39WA1:tutorials:08:mvc-mvp.pdf|MVC vs. MVP}} {{http://course-wa1.felk.cvut.cz/~vlachzd1/10-prepare.zip|základ aplikace}} ===== Řešení ===== * [[http://course-wa1.felk.cvut.cz/~vlachzd1/reseni/11.zip | aplikace datum - reseni]]