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 | Makrá  « Definícia a použitie makier  |  Objekty » 

Spojenie makier s objektmi je veľmi časté, preto vznikli dve verzie príkladu zameraného na túto problematiku. (Druhá verzia je tu.) Táto verzia príkladu je síce jednoduchšou z dvoch, no vyžaduje pochopenie princípu vkladania hodnôt objektov a ich vlastností, preto sa k nej odporúčame vrátiť po preštudovaní kapitoly o objektoch.

 

Makro definované v tomto príklade predpokladá, že jestvujú nasledujúce definície objektov:

$hrasko: Ján Hraško
    #titulyPred: Ing.
    #titulyZa: PhD.

$certova: Katarína Čertová
    #titulyPred: Mgr.

Nasledujúce makro v podstate len využíva rôzne spôsoby vloženia hodnôt objektov a ich vlastností (pozri aj Rozširujúce možnosti použitia objektov):

#makro:menoATituly,$$1#titulyPred$(Oddeľovač: ,$1#titulyPred)$$1
$(Oddeľovač:, ,$1#titulyZa)$$1#titulyZa

Použitie tohto makra vyzerá napríklad takto:

makro(menoATituly,hrasko)\
makro(menoATituly,certova)

Výsledok rozvinutia makier bude vyzerať takto:

Ing. Ján Hraško, PhD. 
Mgr. Katarína Čertová

(Čiže čiarka pred titulom za menom je pridaná automaticky podľa toho, či je alebo nie je vlastnosť titulyZa definovaná. To isté by platilo pre medzeru pred menom v súvislosti s definíciou vlastnosti titulyPred.)

Názov makra znie menoATituly a obsahom makra je tento reťazec:

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

Môžeme sa naňho pozerať ako na päť samostatných prvkov:

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

Reťazec $1 označuje parameter, namiesto ktorého je pri spracovaní vložená hodnota prvého argumentu použitého makra. Keďže obsahom všetkých piatich prvkov je niektorý zo spôsobov vkladania hodnôt objektov je nevyhnutné, aby hodnotou argumentu bol názov objektu. V tomto príklade sme definovali dva objekty – hraskocertova. Pozrime sa na to, ako by vyzerali vyššie uvedené prvky po dosadení konkrétnych názvov objektov namiesto parametra $1:

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

V ďalšej tabuľke sú uvedené výsledky všetkých uvedených prvkov, ktoré pracujú s hodnotami objektov alebo ich vlastností:

makro(menoATituly,hrasko) makro(menoATituly,certova)
Ing. Mgr.
Ján Hraško Katarína Čertová
,  
PhD.  

Výsledkom je spojenie všetkých týchto častí do celkov, ktoré boli prezentované vyššie.

(Ak ste si naštudovali kapitolu Objekty a jej podkapitoly, tak odporúčame prejsť na kapitolu Príklad spojenia definície objektov a makier (B).)