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  « Základné spôsoby použitia objektov  |  Formátovanie zoznamov vytvorených z polí hodnôt vlastností » 

Rozširujúce možnosti použitia objektov dovoľujú vloženie (prípadne zabránenie vloženia) určitých prvkov do zdrojového textu na základe obsahu objektu alebo niektorej jeho vlastnosti. Môže ísť napríklad o rozpoznávanie dátumu platnosti (s prípadným spresnením času) a následné vloženie alebo nevloženie určitého reťazca do zdrojového textu.

Vysvetlenie významu jednotlivých rozširujúcich možností a príklady použitia s výsledkami sú zhrnuté v tabuľke nižšie. Príklady použitia budú predpokladať, že objekty hrasko, certovatexty sú definované takto:

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

$certova: Katarína Čertová
    #titulyPred: Mgr.
    #typFotografie: png
    #gender: female
    #publikácia[]: Čertová, K.: /Ako (ne)vyjednávať./

$texty
    #mužPísal: napísal
    #ženaPísala: napísala
    #onoPísalo: napísalo

(Tieto definície používa aj príklad v kapitole Príklad spojenia definície objektov a makier (B).)

Vloženie oddeľovača
Syntax
$(Oddeľovač:«oddeľovač»,«názov objektu») 
alebo 
$(Oddeľovač:«oddeľovač»,«názov objektu»#«názov vlastnosti»)
Opis
Ak nie je definovaný obsah zadaného objektu alebo zadanej vlastnosti (objekt alebo vlastnosť nejestvuje alebo je jeho/jej obsah prázdny), tak nie je vložené nič. V opačnom prípade je do textu (prípadne do syntaxe RS Rheia) vložený zadaný «oddeľovač».
Príklady Výsledky
$(Oddeľovač:&,hrasko#gender)  
$(Oddeľovač:&,certova#gender)  &
Vloženie náhradného obsahu
Syntax
$(Náhrada:«obsah»,«názov objektu») 
alebo 
$(Náhrada:«obsah»,«názov objektu»#«názov vlastnosti»)
Opis
Ak je definovaný neprázdny obsah zadaného objektu alebo zadanej vlastnosti, tak nie je vložené nič. V opačnom prípade je do textu (prípadne do syntaxe RS Rheia) vložený zadaný náhradný «obsah».
Príklady Výsledky
$(Náhrada:jpeg,hrasko#typFotografie) jpeg
$(Náhrada:jpeg,certova#typFotografie)  
Rozhodovacie vloženie hodnôt
Syntax
$(Zhoduje:«obsah»,«názov objektu a»#«názov vlastnosti a»,«názov objektu b»#«názov vlastnosti b»,«názov objektu c»#«názov vlastnosti c»,«názov objektu d»#«názov vlastnosti d»)
Opis
Výsledok je riadený hodnotami piatich argumentov, ktorých význam opisuje nasledujúci zoznam: 
  1. «obsah» – (konštantný) obsah na porovnanie, 
  2. «názov objektu a»#«názov vlastnosti a» – vlastnosť na porovnanie, 
  3. «názov objektu b»#«názov vlastnosti b» – vlastnosť na vloženie v prípade zhody, 
  4. «názov objektu c»#«názov vlastnosti c» – vlastnosť na vloženie v prípade nezhody, 
  5. «názov objektu d»#«názov vlastnosti d» – vlastnosť na vloženie v prípade prázdnej hodnoty. 
  
Tvar argumentu číslo 2 je povinný, čiže musí byť uvedený názov objektu aj vlastnosti. Ak argument číslo 3 chýba, tak je namiesto neho dosadený argument číslo 2. Ak argument číslo 4 chýba, tak je namiesto neho dosadený prázdny reťazec. Ak argument číslo 5 chýba, tak akcia, ktorá s ním súvisí nie je vykonanná. Ak v argumentoch číslo 3, 4 a/alebo 5 (ak číslo 5 nechýba) nie je uvedený názov objektu alebo názov vlastnosti, tak je namiesto nich automaticky dosadený prislúchajúci názov z argumentu číslo 2 (preto je jeho tvar povinný). 
  
Vyhodnotenie je potom vykonané takto: 
Ak je hodnota argumentu číslo 2 prázdna a je určený (nechýba) argument číslo 5, tak je do zdrojového textu vložená hodnota argumentu číslo 5, inak sa porovnajú sa argumenty číslo 1 a 2 – v prípade ich zhody je do zdrojového textu vložená hodnota argumentu číslo 3 a v prípade nezhody hodnota argumentu číslo 4.
Príklady Výsledky
$(Zhoduje:female,hrasko#gender,texty#ženaPísala,texty#mužPísal) napísal
$(Zhoduje:female,certova#gender,texty#ženaPísala,texty#mužPísal) napísala
$(Zhoduje:female,hrasko#gender,texty#ženaPísala,texty#mužPísal,texty#onoPísalo) napísalo
Vloženie bloku len v prípade neprázdneho poľa vlastností
Syntax
$(Neprázdne:«názov objektu»#«názov vlastnosti»[])
Opis
Ak sa tento typ zápisu vyskytne na ľubovoľnom mieste nejakého celistvého bloku syntaxe RS Rheia (napríklad v odseku, v riadku tabuľky…), tak Rheia overí, či pole tej vlastnosti, ktorá bola v rámci tohto zápisu určená, obsahuje aspoň jeden prvok. V prípade, že neobsahuje, bude celý blok (odsek, riadok tabuľky…) vymazaný. Inak bude blok zachovaný a zobrazený tak, ako keby v ňom prvok Neprázdne nebol.
Príklady Výsledky
Zoznam publikácií:$(Neprázdne:hrasko#publikácia[])  
Zoznam publikácií:$(Neprázdne:certova#publikácia[]) Zoznam publikácií:
Vloženie obsahu podľa dátumu platnosti
Syntax
Jedna z nasledujúcich: 
$(Platí:«dátum»,«názov objektu») 
$(Platí:«dátum»,«názov objektu»#«názov vlastnosti») 
$(Platí:«dátum»,«názov objektu»#«názov vlastnosti»[]) 
$(Neplatí:«dátum»,«názov objektu») 
$(Neplatí:«dátum»,«názov objektu»#«názov vlastnosti») 
$(Neplatí:«dátum»,«názov objektu»#«názov vlastnosti»[])
Opis
Výsledok tohto spôsobu použitia objektov je v podstate identický s výsledkom základných spôsobov použitia objektov s tým rozdielom, že platnosť (resp. neplatnosť) vloženia hodnôt na stránku je obmedzená zadaným dátumom. Syntax so slovom Platí spôsobí to, že obsah bude vložený až po určenom dátume a syntax so slovom Neplatí zase to, že obsah zostane vložený do stanoveného dátumu. 
Ak je obsah vkladaný ako pole, tak platí, že v období neplatnosti vloženia hodnôt na stránku sa systém správa tak, ako keby bolo pole prázdne. To znamená, že (na rozdiel od použitia hodnôt vlastností, ktoré nie sú poľami) v čase neplatnosti vloženia hodnôt nie je zobrazená žiadna časť bloku, v ktorom sa nachádza požiadavka na vloženie poľa s obmedzením dátumu platnosti.
Príklad
Ak by bol dnešný dátum napríklad 24. júl 2014, tak všetky štyri nasledujúce riadky by zobrazili svoj obsah (prvé dva zoznam publikácií Čertovej a druhé dva kód pohlavia rovnakej autorky): 
$(Platí:1. 8. 2013,certova#publikácia[]) 
$(Neplatí:1. 8. 2014,certova#publikácia[]) 
$(Platí:1. 8. 2013,certova#gender) 
$(Neplatí:1. 8. 2014,certova#gender)

 


Otázky a úlohy:

  1. Uveďte syntax aspoň troch rozširujúcich spôsobov vloženia hodnôt objektov alebo ich vlastností (RS Rheia)?
  2. Vysvetlite ako funguje syntax «doplní sa – pozri príklady»
    (Príklady: $(Oddeľovač:), $(Zhoduje:), $(Neprázdne:)…)