Joomla

Ako funguje Joomla web

Ako funguje Joomla web

Keď návštevník otvorí webovú stránku vytvorenú v systéme Joomla, v prehliadači uvidí hotovú stránku s textami, obrázkami, navigáciou a ďalšími prvkami. Na pozadí však Joomla v priebehu zlomku sekundy spojí obsah z databázy, funkcie jednotlivých rozšírení a vzhľad definovaný šablónou.

Joomla web preto nie je iba súbor hotových HTML stránok. Je to dynamický systém, ktorý zostavuje výslednú stránku podľa toho, akú adresu návštevník otvoril, aké moduly sú na nej publikované a aké oprávnenia má používateľ.

Joomla vytvára stránky dynamicky

Pri klasickom statickom webe existuje každá podstránka ako samostatný HTML súbor. Ak chce správca zmeniť text, musí upraviť príslušný súbor a nahrať ho na server.

Joomla funguje inak. Texty článkov, kategórie, položky menu, používatelia a väčšina nastavení sú uložené v databáze. Programové súbory Joomla následne z týchto údajov vytvoria stránku, ktorú webový server odošle návštevníkovi.

Zjednodušene možno celý proces znázorniť takto:

Návštevník → webový server → Joomla a PHP → databáza → komponenty a moduly → šablóna → výsledná HTML stránka

Šablóna pritom oddeľuje obsah od jeho vizuálneho spracovania. Rovnaký článok môže byť pomocou inej šablóny zobrazený s odlišnými farbami, rozložením, typografiou alebo umiestnením jednotlivých prvkov.

Frontend a administrácia

Joomla web pozostáva z dvoch vzájomne prepojených častí.

Frontend

Frontend je verejná časť webu, ktorú vidia návštevníci. Nachádzajú sa v nej napríklad:

  • články a blogové príspevky,
  • kontaktné formuláre,
  • obrázky a galérie,
  • navigačné menu,
  • prihlasovacie formuláre,
  • internetový obchod alebo rezervačný systém.

Výsledný obsah frontendu sa mení podľa otvorenej podstránky, nastavenia modulov, jazyka webu alebo oprávnení prihláseného používateľa.

Backend

Backend je administračné rozhranie určené správcom, redaktorom a ďalším oprávneným používateľom. Štandardne sa otvára pridaním adresy /administrator za názov domény.

V administrácii možno vytvárať články, spravovať kategórie, menu, moduly, používateľov, médiá, rozšírenia, šablóny a celkové nastavenia webu. Frontend a backend sú samostatné aplikácie, ale pracujú s rovnakým obsahom a databázou.

Základné prvky Joomla webu

Výsledná stránka vzniká spoluprácou niekoľkých základných prvkov.

Články a kategórie

Článok predstavuje bežný obsah stránky – napríklad novinku, návod, predstavenie služby alebo informačný text.

Články sa zaraďujú do kategórií. Tie pomáhajú udržiavať prehľadnú štruktúru webu a umožňujú automaticky zobrazovať zoznamy článkov z určitej oblasti.

Napríklad na stránke mojcms.sk môže byť článok zaradený do kategórie Joomla, Návody, Bezpečnosť alebo Rozšírenia. Joomla potom dokáže vytvoriť blogový výpis všetkých článkov patriacich do vybranej kategórie.

Položky menu

Menu v Joomla neslúži iba ako zoznam odkazov. Každá položka menu zároveň určuje, aký typ obsahu alebo funkcie sa má na danej stránke zobraziť.

Položka menu môže smerovať napríklad na:

  • jeden konkrétny článok,
  • blog kategórie,
  • zoznam článkov,
  • kontaktný formulár,
  • prihlasovaciu stránku,
  • komponent internetového obchodu,
  • externú webovú adresu.

Položka menu môže mať vlastný názov stránky, URL alias, nastavenie vzhľadu, prístupovú úroveň alebo priradený štýl šablóny. Od položiek menu sa často odvíja aj to, ktoré moduly sa na stránke zobrazia.

Komponenty

Komponent je hlavná funkčná časť stránky. Možno si ho predstaviť ako menšiu aplikáciu vloženú do Joomla.

Na jednej stránke sa spravidla zobrazuje výstup jedného hlavného komponentu. Napríklad:

  • komponent obsahu zobrazuje články,
  • komponent kontaktov vytvára kontaktné stránky,
  • komponent používateľov zabezpečuje registráciu a prihlasovanie,
  • komponent inteligentného vyhľadávania spracúva vyhľadávanie,
  • komponent internetového obchodu zobrazuje produkty a objednávky.

Väčšina komponentov má verejnú časť pre návštevníkov a administračnú časť na správu údajov. Oficiálna dokumentácia Joomla preto komponenty označuje za hlavné funkčné jednotky systému alebo malé webové aplikácie.

Moduly

Moduly zobrazujú menšie bloky obsahu rozmiestnené okolo hlavného komponentu. Môžu byť umiestnené v hlavičke, bočnom paneli, pod obsahom alebo v pätičke.

Typickými modulmi sú:

  • hlavné menu,
  • najnovšie články,
  • vyhľadávacie pole,
  • prihlasovací formulár,
  • navigačná cesta,
  • reklamný banner,
  • kontaktné údaje,
  • vlastný text alebo obrázok.

Každý modul sa publikuje do určitej pozície šablóny. Správca môže zároveň určiť, na ktorých položkách menu sa modul zobrazí. Vďaka tomu môže mať úvodná stránka iné moduly než článok, kontaktná stránka alebo používateľská sekcia.

Pluginy

Pluginy pracujú prevažne na pozadí. Reagujú na udalosti, ktoré nastanú počas spracovania stránky alebo údajov.

Plugin môže zasiahnuť napríklad:

  • pri načítaní článku,
  • pri vytvorení formulára,
  • pred uložením údajov,
  • pri prihlasovaní používateľa,
  • pri spracovaní obsahu,
  • pri dokončení načítania stránky.

Plugin môže upraviť text článku, vložiť doň ďalší obsah, overiť používateľa, spracovať bezpečnostné pravidlá alebo komunikovať s externou službou. Aktivujú sa iba pluginy, ktoré sú prihlásené na príslušný typ udalosti.

Šablóna

Šablóna určuje celkové vizuálne spracovanie webu. Definuje najmä:

  • rozloženie stránky,
  • farebnosť,
  • typografiu,
  • šírku obsahu,
  • pozície modulov,
  • vzhľad navigácie,
  • responzívne správanie,
  • načítanie štýlov a skriptov.

Šablóna obsahuje miesto pre hlavný komponent a jednotlivé modulové pozície. Joomla do týchto miest vloží výstupy komponentu a publikovaných modulov a vytvorí výsledný dokument.

Joomla rozlišuje frontendové šablóny pre verejnú časť a backendové šablóny pre administráciu.

Čo sa stane po otvorení podstránky

Predstavme si, že návštevník otvorí článok na adrese:

mojcms.sk/joomla/ako-funguje-joomla-web

Joomla následne vykoná približne tento postup:

  1. Prehliadač odošle požiadavku serveru.
    Webový server spustí Joomla prostredníctvom PHP.
  2. Joomla vyhodnotí webovú adresu.
    Systém rozpozná požadovanú stránku, položku menu, komponent, zobrazenie a identifikátor obsahu.
  3. Spustí sa príslušný komponent.
    Pri bežnom článku ide o komponent obsahu, ktorý požiada databázu o konkrétny článok.
  4. Načítajú sa údaje.
    Joomla získa text článku, jeho názov, autora, dátum publikovania, obrázky, kategóriu a ďalšie nastavenia.
  5. Aktivujú sa potrebné pluginy.
    Pluginy môžu upraviť obsah, spracovať vložené značky, overiť oprávnenia alebo doplniť ďalšie funkcie.
  6. Vyberú sa moduly.
    Joomla podľa priradenia k položkám menu zistí, či má zobraziť hlavné menu, vyhľadávanie, najnovšie články alebo iné bloky.
  7. Načíta sa šablóna.
    Šablóna umiestni komponent a moduly do pripravených pozícií a pridá CSS štýly, JavaScript a ďalšie prvky rozhrania.
  8. Server odošle výsledok prehliadaču.
    Návštevník dostane hotový HTML dokument, ktorý prehliadač zobrazí ako webovú stránku.

Oficiálna dokumentácia uvádza, že Joomla najskôr získa výstup komponentu, určí použitú šablónu a následne načíta a vykreslí moduly určené pre danú stránku a jej modulové pozície.

Databáza a súbory webu

Joomla web je rozdelený medzi databázu a súborový systém servera.

V databáze sa nachádzajú najmä:

  • články a kategórie,
  • položky menu,
  • nastavenia modulov,
  • používateľské účty,
  • skupiny a oprávnenia,
  • značky a vlastné polia,
  • informácie o nainštalovaných rozšíreniach,
  • viaceré konfiguračné údaje.

V súboroch servera sa nachádzajú najmä:

  • jadro Joomla,
  • programový kód komponentov, modulov a pluginov,
  • šablóny,
  • jazykové súbory,
  • obrázky a dokumenty,
  • CSS a JavaScript,
  • konfiguračný súbor webu.

Pri vytvorení stránky Joomla spojí údaje uložené v databáze s programovým kódom uloženým v súboroch. Na prácu s databázou používa vlastnú databázovú vrstvu, ktorá zabezpečuje jednotný spôsob čítania, vkladania, úprav a odstraňovania údajov.

Ako Joomla rozširuje svoje možnosti

Základná inštalácia Joomla obsahuje funkcie na správu obsahu, používateľov, médií, menu, kontaktov, vyhľadávania, viacjazyčnosti a ďalších oblastí. Ďalšie možnosti možno doplniť rozšíreniami.

Jedno komplexné rozšírenie môže obsahovať viacero prvkov naraz. Internetový obchod môže napríklad pozostávať z:

  • komponentu na správu produktov a objednávok,
  • modulov na zobrazenie košíka alebo vybraných produktov,
  • pluginov na platby, dopravu a spracovanie udalostí,
  • knižníc so spoločným programovým kódom.

Komponenty, moduly, pluginy a šablóny majú rozdielne úlohy, ale spolu vytvárajú jeden funkčný celok.

Dynamický web nemusí byť pomalý

Pri každom otvorení stránky musí Joomla vykonať viacero operácií. To však automaticky neznamená, že Joomla web musí byť pomalý.

Výkon ovplyvňuje najmä:

  • kvalita hostingu,
  • verzia a nastavenie PHP,
  • použitá šablóna,
  • množstvo a kvalita rozšírení,
  • veľkosť obrázkov,
  • počet databázových požiadaviek,
  • nastavenie vyrovnávacej pamäte,
  • kompresia a optimalizácia súborov.

Vyrovnávacia pamäť môže uchovať už vytvorený výstup alebo výsledky niektorých operácií. Pri ďalšej návšteve potom nemusí Joomla všetko spracúvať od začiatku.

Prečo je modulárny princíp výhodný

Jednotlivé časti Joomla sú od seba do určitej miery oddelené. Vďaka tomu možno:

  • zmeniť šablónu bez prepisovania článkov,
  • presunúť modul bez úpravy komponentu,
  • doplniť novú funkciu rozšírením,
  • meniť menu bez zásahu do samotného obsahu,
  • nastaviť rôzne oprávnenia pre používateľské skupiny,
  • upraviť výstup pomocou šablónových prepisov bez zásahu do jadra.

Práve toto oddelenie obsahu, funkcií a vzhľadu patrí medzi hlavné princípy fungovania Joomla webu.

Záver

Joomla web možno prirovnať k stavebnici. Články a databáza poskytujú obsah, komponent vytvára hlavnú časť stránky, moduly dopĺňajú menšie bloky, pluginy zabezpečujú funkcie na pozadí a šablóna všetko spojí do jednotného vzhľadu.

Keď návštevník otvorí určitú adresu, Joomla vyhodnotí jeho požiadavku, načíta potrebné údaje, spustí príslušné rozšírenia a vygeneruje výslednú stránku. Správca pritom môže väčšinu obsahu a nastavení ovládať z administrácie bez potreby manuálne upravovať programový kód.

Image

môj CMS je slovenský informačný portál venovaný redakčnému systému Joomla. Prináša zrozumiteľné návody, praktické tipy, novinky, bezpečnostné upozornenia a informácie o aktualizáciách, šablónach a rozšíreniach pre začiatočníkov aj skúsených používateľov.