Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.0, Roman Horváth, © 2015, powered by Rheia

Obsah stránky sa číta, prosím čakajte…

 TWS – Manuál k RS Rheia 1.0 – Obsah | Objekty  « Automatická úprava hodnôt pomocou vzorkovníkov – modul schemas  |  Výpočty a iné úpravy obsahu » 

Spojenie makier s objektmi je veľmi časté, preto vznikli dve verzie príkladu zameraného na túto problematiku. (Prvá verzia je tu.) Táto verzia príkladu rozširuje prvú verziu, preto odporúčame sa najprv oboznámiť s ňou.

 

Majme makro, ktoré je definované takto:

#makro:odkazNaPracovníka,{$$1#titulyPred$(Oddeľovač: ,$1#titulyPred)$$1
$(Oddeľovač:, ,$1#titulyZa)$$1#titulyZa|manual?$1}

Definície objektov sú rovnaké ako v kapitole Rozširujúce možnosti použitia objektov. Použitie makrazdrojovom texte bude vyzerať takto:

makro(odkazNaPracovníka,hrasko)\
makro(odkazNaPracovníka,certova)

Výsledkom bude vytvorenie nasledujúcich dvoch odkazov:

(Po kliknutí na nich budú otvorené prázdne „profily“ pracovníkov.)

 

Makro definované v tomto príklade v podstate len používa rôzne spôsoby vloženia hodnôt objektov a ich vlastností (pozri súvisiace kapitoly: Základné spôsoby použitia objektovRozširujúce možnosti použitia objektov).

Jadrom makra je nasledujúci kód:

  {$$1#titulyPred$(Oddeľovač: ,$1#titulyPred)$$1$(Oddeľovač: 
, ,$1#titulyZa)$$1#titulyZa|/manual?$1}

ktorý teraz rozdelíme na jednotlivé časti a podrobne vysvetlíme (pričom sa zameriame na rozvinutie hodnôt objektov a ich vlastností).

Všetky výskyty reťazca $1 sú parametrom makra, za ktorý je dosadená prislúchajúca hodnota. Napríklad pri vložení nasledujúceho reťazca (makra) do zdrojového textu:

  makro(odkazNaPracovníka,hrasko)

je namiesto $1 dosadená hodnota hrasko, čiže po manuálnom dosadení rozvinutého makra do zdrojového textu by sme získali nasledujúci kód:

  {$hrasko#titulyPred$(Oddeľovač: ,hrasko#titulyPred)$hrasko$(Oddeľovač: 
, ,hrasko#titulyZa)$hrasko#titulyZa|/manual?hrasko}

Po takomto rozvinutí sa dá jednoduchšie vysvetliť, z akých častí kód skutočne pozostáva. Predtým ako budeme pokračovať však treba odstrániť jednu vrstvu. Vonkajšia vrstva je tvorená obálkou kódu tvoriaceho odkaz, ktorými sa zaoberá kapitola Tvorba odkazov. Konkrétnejšie ide o jednoduchý odkaz so zmenou zobrazovaného textu odkazu, ktorý pozostáva z týchto častí: {«text odkazu»|«adresa odkazu»}. Odoberme všetky časti tejto vrstvy. Zistíme pri tom, že textom odkazu je táto časť kódu:

  $hrasko#titulyPred$(Oddeľovač: ,hrasko#titulyPred)$hrasko$(Oddeľovač: 
, ,hrasko#titulyZa)$hrasko#titulyZa

a adresou odkazu táto časť:

  manual?hrasko

Druhá časť (adresa) je jednoduchá, nie je ju potrebné ďalej rozvíjať. Zaoberajme sa preto ďalej tým, z čoho pozostáva časť tvoriaca text odkazu. Ide o kód zložený z viacerých spôsobov vloženia obsahu objektu alebo jeho vlastnosti (pozri súvisiace kapitoly: Základné spôsoby použitia objektovRozširujúce možnosti použitia objektov). Môžeme ho rozdeliť na tieto menšie celky:

  $hrasko#titulyPred základný spôsob vloženia vlastnosti objektu
  $(Oddeľovač: ,hrasko#titulyPred) vloženie oddeľovača
  $hrasko základný spôsob vloženia hodnoty objektu
  $(Oddeľovač:, ,hrasko#titulyZa) vloženie oddeľovača
  $hrasko#titulyZa základný spôsob vloženia vlastnosti objektu

Zhrňme teraz do tabuľky výsledky uvedených častí kódu (čiže to, čo tieto časti zobrazia návštevníkovi stránky) a doplňme ich o slovné spresnenie:

Kód Výsledok Spresnenie
$hrasko#titulyPred Ing. pracovníkov titul pred menom
$(Oddeľovač: ,hrasko#titulyPred) medzera (pretože titul pred menom jestvuje)
$hrasko Ján Hraško celé meno a priezvisko pracovníka (hlavný obsah objektu)
$(Oddeľovač:, ,hrasko#titulyZa) , čiarka a medzera (pretože titul za menom jestvuje)
$hrasko#titulyZa PhD. pracovníkov titul za menom

Z tabuľky by malo byť jasné, čo a prečo sa zobrazí návštevníkovi stránky po dosadení názvu objektu hrasko do makra, ktoré sme definovali na začiatku tohto príkladu (za predpokladu, že je objekt hrasko definovaný tak, ako je to uvedené v kapitole Rozširujúce možnosti použitia objektov).

Podobné vysvetlenie by sme mohli rozpísať s dosadením iného objektu do tohto makra. V kapitole Rozširujúce možnosti použitia objektov sú definované tri objekty, no z nich sú ako pracovníci definovaní (resp. zamýšľaní) len hraskocertova. Z pohľadu RS Rheia sú všetky objekty rovnocenné. Keby sme do makra dosadili objekt texty, získali by sme prázdny výsledok, pretože tento objekt nemá definovaný hlavný obsah a ani jednu skupinu titulov.