Blog
Navigace
Kategorie
Vývojářský deníček #2
Další díl našeho vývojářského deníčku je tady. V tomto díle se podíváme na další věco okolo šablonovacího jazyku, rozebereme si novou strukturu adresářů a také nahlédneme na používaní cache.
Bloky a regulární výrazy v podmínkách
Nejdříve bych začal s tím co to vlastně ty "bloky" jsou ve VisionCMS. Pokud jste používali starší verze VisionCMS tak jste se určitě setkali s tím že systém uměl rozmísťovat komponenty do tří bloků - left, right, bottom a top. Což bylo značně omezené a nebyla možnost si vytvořit vlastní bloky do kterých jste následně umísťovali Vaše moduly. Nyní jsme se rozhodli pro přístup abychom Vám uživatelům či webdesignerům dali volnou ruku a každá šablona může mít neomezený počet bloků s vlastními označeními do kterých lze následně vkládat moduly.
<block id="RightPanel"> </block> <block id="MainContent"> </block> <block id="LeftPanel"> </block>
Další věcí, která byla implementována je podpora regulárních výrazů v podmínce. Například když v proměnná name bude obsahovat text martin zobrazí se daný obsah.
<if condition="username regex /martin/i"> <p>Proměnná username obsahuje text martin bez ohledu na velikost písmen!</p> </if>
Používání cache
Při různých výkonově či pamětově náročných operacích je vhodné použít cache. Například načítání RSS zdroje a jeho následného výpisu v modulu. Při vlastním cachování stačí použít již vytvořený objekt třídy V_Cache, zeptat se na data zda jsou ještě platné (či vůbec existují) a pokud nejsou platné vykonáme celý kód znova a uložíme na Vámi definovanou dobu (v tomto případě 1 hodina).
$cache = $this->application->getCache();
$this->output = $cache->get("Articles-homepage", 3600);
if($this->output === false)
{
$this->output = "Toto bude uloženo do cache!";
$cache->set("Articles-homepage", $this->output);
}
Nová struktura složek a souborů
S novou verzí příchází i kompletně nová struktura složek a souborů.
- administration ............ složka s admin aplikací
- cache ...................... složka obsahující cache data
- components .............. obsahuje hlavní část systému - controller dané stránky podle routeru
| - Articles .................. obsahuje controller pro články a jejich obsluhu
| - Backend ............ soubory potřebné pro správu článku přes admina
| - Articles.php (stejný název jako složka) "bootovací" soubor komponenty pro administraci
| - Languages ......... soubory s překlady dané komponenty v .INI formátu
| - Frontend ....... překlady pro frontend část komponenty
| - Backend ........ překlady pro backend část kompomenty - administrace
- Router.php .............. soubor pro routování dané komponenty
- Articles.php ............. (stejný název jako složka) "bootovací" soubor komponenty pro frontend
- Info.xml ................. informační XML soubor s daty jako jsou autor, verze apod.
| - další možné složky Helpers, Models, Controllers, Views (šablony)
| - další možné komponenty Users, Search, Page ... apod.
- modules ..................... složka obsahuje moduly - což jsou malé části webu jako je políčko pro vyhledávání, login formulář apod.
| - Search .................... obsahuje logiku pro modul, který vypíše vyhledávací pole a data odešle komponentě Search
| - Backend ............ soubory potřebné pro úpravu nastavení modulu
| - Search.php (stejný název jako složka) "bootovací" soubor modulu pro administraci
| - Languages ......... soubory s překlady daného modulu v .INI formátu
| - Frontend ....... překlady pro frontend část modulu
| - Backend ........ překlady pro backend část modulu - administrace
- Search.php ............. (stejný název jako složka) "bootovací" soubor modulu pro frontend
- Info.xml ................. informační XML soubor s daty jako jsou autor, verze apod.
| - Views (šablony)
| - další možné moduly Login, Footer, Pool ... apod.
- libraries ..................... knihovny celého systému
| - CMS ....................... složka obsahující logiku redakčního systému
| - VFramework ............. framework nad kterým běží CMS logika
| - VDatabase ............... knihovna pro přístup k databázovým datům (MySQL, PostgreSQL, SQLite, MS SQL, Oracle)
- watchers ..................... složka obsahuje třídy, které navazují permanentně na nějakou systémovou událost
- public ...................... veřejné data pro uživatele, zde mohou být obrázky ke článkům, avatary či jiné data komponent a webmastera
- temp ....................... složka pro dočasné data, například pro rozbalení instalačního balíčku komponenty
- templates ................. obsahuje šablony webu
| - Default .................. základní šablona systému dodávaná v balíčku
- Default.php ............ soubor pro základní strukturu webu
- Info.xml ................. informační XML soubor s daty jako jsou autor šablony, verze apod.
| - styles ................. styly šablony
| - images ................ obrázky šablony
| - components ......... složka pro úpravu Views dané komponenty
| - Articles
- singleArticle.phtml .. systém při výpisu jednoho článku použije tuto šablonu namísto základní šablony ve složce komponenty
Drobnosti v struktuře se ještě mohou změnit!
Váš názor je pro nás směrodatný!
Nebojte se a napište nám Váš názor na naše fórum!
I Vaše nápady se mohou promítnout v nové verzi VisionCMS!
2011-05-04 18:33:15 | napsal Martin Pernica