Rada se strukturou aplikace
- darkwind
- Člen | 32
Začínám s Nette, a přemýšlím nad tím, jak vytvořit CMS s corem a
rozšiřitelností pomocí pluginů.
Prošel jsem si nějaké příklady a momentálně to mám takto:
-app
--AdminModule
---presenters
---templates
--FrontModule
---presenters
---templates
Takže klasické rozdělení na Front a Admin. Mým cílem je nejprve vytvořit základní funkce, které by měl mít v podstatě každý web – stránky, menu, přihlašování, galerie, dialogy, tvorbu layoutů stránek pomocí boxů,… – prostě takový core aplikace. Tady mám představu, že bych všechny tyto věci dával to AdminModul/presenters a případné šablony do AdminModule/templates.
A potom bych chtěl, aby se systém dal rozšiřovat pomocí pluginů (např. novinky, forum, eshop, seznam akcí,…), které pouze nahraju do nějaké složky a v administraci v části Správce pluginů (ano, zde je silná inspirace Wordpressem, kde se mi tento styl pluginů líbí) bych ho zapnul (takže asi nějaká tabulka v databázi, kde by byl výpis zapnutých pluginů?). Správce pluginů by tedy měl na starost procházení určité složky s pluginy, kde by bylo vše potřebné jak pro vykreslení v administraci, tak později pro frontend webu.
V podstatě bych poprosil o radu, jak by měla vypadat struktura aplikace, pokud bych chtěl do složky plugin/News nahrát všechno, co se týče zprovoznění Novinek pro ten daný web (tzn. zobrazení pro administraci (ale včetně ikonek, javascriptů a css) a pro frontend (css, js nebo obrázky, apod. by zaleželo na každém webu, bralo by se klasicky z www/images (popř. www/js, www/css)).
Myslíte, že je nějaká taková struktura možná a reálná? Co by případně pro to bylo potřeba udělat, nemáte alespoň nějaké popostrčení? Třeba, jak na routy, kterým pořád trochu nerozumím, apod.
Vím, že to asi nebude nic jednoduchého. S tím ale počítám, a kdybych
mohl poprosit nějaký aspoň názor na to výše napsané, ocenil bych to.
:-)
Děkuju moc :)
darkwind
Editoval darkwind (4. 5. 2012 0:11)
- Vojtěch Dobeš
- Gold Partner | 1316
To není otázka „pro čaj o páté“, ale spíš pro přednášku. Jde o komplexní problém, takže doporučuju prolistovat dokumentaci, podívat se na video o routování (viz Planette), podívat se na Hosiplanovo Kdyby a jeho provázání s Asseticem…