Obsah stránky sa číta, prosím čakajte…
Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.5, Roman Horváth, © 2021, powered by Rheia
» Na týchto stránkach momentálne aktívne pracujeme. «
TWS – Manuál k RS Rheia 1.5 – Obsah | Objekty « Automatická úprava hodnôt s 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 makra v zdrojovom 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 objektov a Rozširujúce možnosti použitia objektov).
Jadrom makra je nasledujúci kód:
{$$1#titulyPred$(Oddeľovač: ,$1#titulyPred)$$1$(Oddeľovač:↩ |
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č:↩ |
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č:↩ |
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 objektov a Rozš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 (predpokladajme, ž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 hrasko
a certova
. 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.