|
06 Srpen 2009
Posted in
Dokumentace -
Komponenty
Ještě než začneme psát první řádky kódu Joomly, musíme si něco povědět o tom jak jsou komponenty rozvržené. Protože toto rozvržení hodně souvisí s návrhovým vzorem Model-View-Controller, který Joomla 1.5 používá dostane se také na něj.
Vzorová aplikace
V rámci seriálu dokumentací o tvorbě komponent si vytvoříme jednoduché diskusní fórum, které bude rozděleno do sekcí a kategorií. Příspěvky půjdou zařadit pouze do kategorií a uživatel se bude moct zaregistrovat k odběru příspěvků na dané téma. URL adresy budou ve tvaru SEO adres tedy pěkných. Využijeme ale pouze tvorby pěkných URL, která je součásti standardní Joomly. Ukážeme si i jak vytvořit správné dotazy na databázi, aby šlo využít služeb populárního rozšíření JoomFISH pro tvorbu vícejazyčného webu.
V administraci půjdou sekce a kategorie editovat. Také si umožníme administraci fóra ze správcovské části Joomly. Do administrace přidáme i nějaké konfigurační položky pro nastavení komponenty, takže v administraci budeme mít čtyři části(sekce, kategorie, příspěvky a nastavení), kterým pro jednoduchost budeme říkat elementy.
Základní rozdělení
Základní rozdělení komponenty je na administrátorskou a veřejnou část. Adminstrátorská část se nachází v adresáři /administrator/components a veřejná v /components. Zde se komponenta dále člení na adresáře controllers, models a views, přičemž v administrátorské části najdeme také tzv. objetkově relační mapování tabulek databáze v adresáři tables. Nebojte se i přes docela složitý název se nejedná o nic složitého jak se za chvilku dozvíme.
Model-View-Controller
Joomla 1.5 má na rozdíl od Joomly 1.0 mnohem lépe rozdělenou logiku zpracování požadavků. I když by šly vyrobit komponenty nevyužívající tento styl, rozhodně to není dobrý nápad si na takovýto kód zvykat. Tento návrhový vzor dělí uživatelský požadavek na tři části:
controller- neboli česky ovladač: Tato část řídí tok aplikace a řeší jak bude aplikace na určený uživatelský požadavek. Pro každý element se v Joomle obvykle použije jeden controller soubor.model: Zde najdeme hlavní část logiky aplikace v Joomle. Hlavní část kódu přijde umístit do modelů. Pro jednotlivé elementy se využívají dva modely. Jeden pro zobrazení tabulky seznamu a druhý pro akce spojené s editací položek a jejich mazáním.view- zobrazení: řídí jak bude výsledek ukázán uživateli. Opět pro každý element existují dvě zobrazení - jedno pro tabulku seznamu a druhé pro editaci. V Joomle adresářviewsrozdělený na adresáře podle názvu modelů. Každý takovýto podadresář ještě obsahuje jeden vnořený adresářtmpl, který obsahuje konkrétní šablonu zobrazení.
Pomocníci
Posledním typem souborů, se kterými se v rámci vývoje Joomly můžeme setkat jsou helpers, nebo-li česky pomocníci. Zde přijde umístit kód, který potřebujeme volat z různých míst aplikace a bylo by zbytečné jej duplikovat ve více modelech. Těchto pomocníku si můžeme vytvořit kolik chceme. A nejlepší je umístit je do adresáře helpers.
Objetové-relační mapování
Jelikož moderní programování je postaveno na instancích tříd, nebo-li objektech, což databázové programy trošku zaspaly, je nutné nějak jednotlivé tabulky na objekty nejprve převést. Což v Joomle znamená pouze vytvoření třídy, která bude obsahovat vyjmenování polí dané tabulky a metody, která provede přiřazení jména tabulky k dané třídě. Všechny tyto soubory mají místo v adresáři tables v administraci komponenty Joomly.
Články


