WebToDate/Referenční/Klíčová slova WebToDate: Porovnání verzí
| Řádek 131: | Řádek 131: | ||
{| class="prettytable" | {| class="prettytable" | ||
| <nowiki><!--WTD_IF(ROWEMPTY,"...nějaký | | <nowiki><!--WTD_IF(ROWEMPTY,"...nějaký kód...")--></nowiki> | ||
| Použije se v případě, že se vkládá skutečná položka seznamu (viz kapitola [[../Seznamy|Seznamy]]) | |||
| Použije se v případě, že se | |- | ||
| <nowiki><!--WTD_IF(ROWNOTEMPTY,"...nějaký kód...")--></nowiki> | |||
| Použije se v případě, že se dopočítává na celočíselný násobek (viz kapitola [[../Seznamy|Seznamy]]) | |||
|- | |- | ||
| <nowiki><!--WTD_IF( | | <nowiki><!--WTD_IF(ROWODD,"...nějaký kód...")--></nowiki> | ||
| Vkládá kód, pokud se jedná o lichý řádek seznamu (viz kapitola [[../Seznamy|Seznamy]]) | |||
| | |- | ||
| <nowiki><!--WTD_IF(ROWEVEN,"...nějaký kód...")--></nowiki> | |||
| Vkládá kód, pokud se jedná o sudý řádek seznamu. Pokud se styl aplikuje na jednu zprávu či zdroj, jedná se vždy o lichý (jakoby první) řádek, takže ROWEVEN nikdy nenastane. Pokud se aplikuje na seznam (zpráv či příloh ke zprávě - zdrojů), bere se interní číslování řádků výsledků od jedničky, čili první řádek je lichý. Pokud je seznam dělený, čísluje se interně od jedničky vždy, pokud se změní úroveň dělení, takže první řádek v dané úrovni je vždy lichý. | |||
|- | |- | ||
Verze z 19. 10. 2009, 15:43
Klíčová slova WebToDate mají vesměs tvar nepárových značek, které jsou HTML komentáři.
Klíčová slova použitelná ve stylech a předlohách pro zprávy
Následující klíčová slova se používají v předlohách pro zprávy a ve stylech formátujících zprávy na stránkách.
| Pole | Význam |
| <!--WTD_F(ID)--> | ID zprávy |
| <!--WTD_F(TITLE)--> | Nadpis zprávy |
| <!--WTD_F(TITLELINK)--> | Odkaz nadpisu |
| <!--WTD_F(DESCRIPTION)--> | Popis |
| <!--WTD_F(BODY)--> | Tělo zprávy |
| <!--WTD_F(PIC)--> | Obrázek |
| <!--WTD_F(ALTPIC)--> | Alt. obrázek |
| <!--WTD_F(DATE)--> | Datum zprávy |
| <!--WTD_F(TIME)--> | Čas zprávy |
| <!--WTD_F(DATEACT)--> | Datum a čas aktualizace |
| <!--WTD_F(SOURCE)--> | Autor |
| <!--WTD_F(SECTION)--> | Rubrika |
| <!--WTD_F(PRIORAUX)--> | Priorita zprávy |
| <!--WTD_F(DESCRIPTIONLINK)--> | Link popisu |
| <!--WTD_F(UNDERLINE)--> | Podtext |
| <!--WTD_F(UNDERLINELINK)--> | Odkaz podtextu |
| <!--WTD_F(PAGE)--> | Číslo stránky |
| <!--WTD_F(PUBLICATION)--> | Název publikace |
| <!--WTD_F(PUBLICATIONID)--> | Číslo publikace |
| <!--WTD_F(CATEGORY)--> | Lokalizovaný název výchozí kategorie |
| <!--WTD_F(CATEGORYID)--> | Číslo výchozí kategorie |
| <!--WTD_F(GROUPNAME)--> | Název tématu |
| <!--WTD_F(GROUPID)--> | Číslo tématu |
| <!--WTD_F(ISSUE)--> | Název vydání |
| <!--WTD_F(ISSUEID)--> | Číslo vydání |
| <!--WTD_F(LANGUAGEID)--> | Číslo jazyka |
| <!--WTD_F(LANGUAGEABBREV)--> | Zkratka jazyka |
Pokud je definována pro zprávy přizpůsobitelná struktura, pro pole v této struktuře se používají klíčová slova <!--WTD_D(''systémový_název'')-->, tedy např. <!--WTD_D(ANOTACE)-->.
Klíčová slova použitelná ve stylech a předlohách pro zprávy - výchozí přílohy
Pokud jsou ke zprávě připojeny soubory z databáze zdrojů, může být jedna tato instance (příloha) označena jako výchozí. Výchozí instance se může vyskytovat přímo ve stylu pro zprávu či v předloze, klíčová slova pro tento účel jsou identická jako Klíčová slova pro zdroje.
Klíčová slova použitelná ve stylech pro formátování seznamů
Klíčová slova pro styly formátující seznamy zpráv jsou stejná jako pro samotné zprávy, navíc lze použít následující konstrukce:
| <!--WTD_IF(ROWEMPTY,"...nějaký kód...")--> | Použije se v případě, že se vkládá skutečná položka seznamu (viz kapitola Seznamy) |
| <!--WTD_IF(ROWNOTEMPTY,"...nějaký kód...")--> | Použije se v případě, že se dopočítává na celočíselný násobek (viz kapitola Seznamy) |
| <!--WTD_IF(ROWODD,"...nějaký kód...")--> | Vkládá kód, pokud se jedná o lichý řádek seznamu (viz kapitola Seznamy) |
| <!--WTD_IF(ROWEVEN,"...nějaký kód...")--> | Vkládá kód, pokud se jedná o sudý řádek seznamu. Pokud se styl aplikuje na jednu zprávu či zdroj, jedná se vždy o lichý (jakoby první) řádek, takže ROWEVEN nikdy nenastane. Pokud se aplikuje na seznam (zpráv či příloh ke zprávě - zdrojů), bere se interní číslování řádků výsledků od jedničky, čili první řádek je lichý. Pokud je seznam dělený, čísluje se interně od jedničky vždy, pokud se změní úroveň dělení, takže první řádek v dané úrovni je vždy lichý. |
| <!—WTD_LISTS(NAVIG)--> | Reprezentuje místo, kde se vloží navigační lišta |
| <!—WTD_LISTS(LABEL)--> | Reprezentuje výpis výsledků (např. Dokument 1 až 10 z 50) |
| <!--WTD_LISTS(ID)--> | ID seznamu, který je právě vykreslován (používá se vytváření URL stránky s detailem obrázku ve fotogalerii) |
Klíčová slova použitelná v definici stránkování
Klíčová slova uvedená v této kapitole se používají pro definici zobrazování stránkování u stránkovaných seznamů, neboli ve formuláři Administrace – Nastavení - Stránkování.
Klíčová slova použitelná v definici stránkovací lišty
| <!--WTD_NAVIG(URL)--> | Klíčové slovo je nahrazováno za odkaz na určitou stránku v rámci stránkování seznamu |
| <!--WTD_NAVIG(NUMBER)--> | Klíčové slovo je nahrazováno za pořadové číslo určité stránky v rámci stránkování seznamu |
Klíčová slova použitelná ve výpisu výsledků
| <!--WTD_LISTS(FROM)--> | Počáteční pořadové číslo zprávy na stránce v seznamu |
| <!--WTD_LISTS(TO)--> | Koncové pořadové číslo zprávy na stránce v seznamu |
| <!--WTD_LISTS(TOTAL)--> | Počet nalezených zpráv celkem |
| <!--WTD_LISTS(PAGECURRENT)--> | Pořadové číslo stránky v rámci stránkování |
| <!--WTD_LISTS(PAGETOTAL)--> | Celkový počet stránek v rámci stránkování |
Tato klíčová slova umožňují jak výpis typu "Zprávy 1 až 10 z 50", tak vyznačování na úrovni stránkovacích stránek, tedy např. "1/5" (tj. první z pěti stránek).
Klíčová slova pro zdroje
Tato klíčová slova se používají ve stylech formátujících zdroje (tj. instance souborů ze zdrojů ve zprávách, ať už se jedná o seznam příloh nebo samostatné instance v textu zprávy.
| <!--WTD_ASSET(ID)--> | ID zdroje |
| <!--WTD_ASSET(TITLE)--> | Nadpis zdroje |
| <!--WTD_ASSET(TITLELINK)--> | Link nadpisu |
| <!--WTD_ASSET(DESCRIPTION)--> | Popis |
| <!--WTD_ASSET(DATE)--> | Datum zdroje |
| <!--WTD_ASSET(TIME)--> | Čas zdroje |
| <!--WTD_ASSET(DATEACT)--> | Datum a čas aktualizace |
| <!--WTD_ASSET(SOURCE)--> | Autor |
| <!--WTD_ASSET(PRIORAUX)--> | Priorita zdroje |
| <!--WTD_ASSET(PUBLICATION)--> | Název publikace |
| <!--WTD_ASSET(PUBLICATIONID)--> | ID publikace |
| <!--WTD_ASSET(CATEGORY)--> | Lokalizovaný název výchozí kategorie |
| <!--WTD_ASSET(CATEGORYID)--> | ID výchozí kategorie |
| <!--WTD_ASSET(LANGUAGEID)--> | Číslo jazyka |
| <!--WTD_ASSET(FILEID)--> | ID souboru |
| <!--WTD_ASSET(FILENAME)--> | Název souboru |
| <!--WTD_ASSET(FILEURL)--> | URL souboru |
| <!--WTD_ASSET(FILETYPE)--> | Typ souboru |
| <!--WTD_ASSET(FILESIZE)--> | Velikost souboru v B |
| <!--WTD_ASSET(FILEWIDTH)--> | Šířka obrázku (videa, Flash animace,...) |
| <!--WTD_ASSET(FILEHEIGHT)--> | Výška obrázku |
| <!--WTD_ASSET(MASTERFILEURL)--> | URL souboru master pro aktuální zdroj |
| <!--WTD_ASSET(MASTERFILEID)--> | ID souboru master pro aktuální zdroj |
| <!--WTD_ASSET(MASTERFILENAME)--> | Název souboru master pro aktuální zdroj |
| <!--WTD_ASSET(MASTERFILETYPE)--> | Typ souboru master pro aktuální zdroj |
| <!--WTD_ASSET(MASTERFILESIZE)--> | Velikost souboru master pro aktuální zdroj v B |
| <!--WTD_ASSET(MASTERFILEWIDTH)--> | Šířka obrázku souboru master pro aktuální zdroj |
| <!--WTD_ASSET(MASTERFILEHEIGHT)--> | Výška obrázku souboru master pro aktuální zdroj |
Podmíněné vkládání polí do stránek
Test naplnění obsahu pole
U všech výše uvedených polí lze využít podmíněného vkládání do stránek. K tomu se používají klíčová slova
<!--WTD_IF(jméno_poleNULL,"html kód")-->
<!--WTD_IF(jméno_poleNOTNULL,"html kód")-->
kde se za jméno_pole dosadí název zvoleného pole. Pokud je toto pole prázdné, zobrazí se na místě podmínky jméno_poleNULL HTML kód který je obsažen v uvozovkách a podmínka jméno_poleNOTNULL se nahradí prázdným řetězcem, pokud pole není prázdné, zobrazí se na místě podmínky jméno_poleNOTNULL HTML kód který je obsažen v uvozovkách, a podmínka jméno_poleNULL se nahradí prázdným řetězcem.
Příklad užití:
<!--WTD_IF(PICNULL, "obrázek není k dispozici")-->
<!--WTD_IF(PICNOTNULL, "<IMG SRC="<!-WTD_F(PIC)-->">")-->.
Pro zdroje je pak syntaxe podmíněného vkládání následující:
<!--WTD_IF(ASSET_jméno_poleNOTNULL,"…")-->
<!--WTD_IF(ASSET_jméno_poleNULL,"…")-->
Tedy např.:
<!--WTD_IF(ASSET_FILEWIDTHNOTNULL,"…")-->
<!--WTD_IF(ASSET_FILEWIDTHNULL,"…")-->
U zdrojů lze rozlišit, zda se jedná o položku – souboru, nebo o položku – odkaz (např. pro účely zobrazení ikon u odkazů):
<!--WTD_IF(ASSET_EXTERNALURLNULL,"…položka není externí odkaz…")-->
<!--WTD_IF(ASSET_EXTERNALURLNOTNULL,"…položka je externí odkaz…")-->
Pro podmíněné vkládání polí z přizpůsobitelné struktury databáze zpráv se používá syntaxe podobná jako u zdrojů:
<!--WTD_IF(WTDVAR_nazevpoleNOTNULL,"…")-->
<!--WTD_IF(WTDVAR_nazevpoleNULL,"…")-->
Test stavu zprávy
Další konstrukcí umožňující vkládat do stránky nějaký text podmíněně je test stavu zprávy. Syntaxe tohoto výrazu je
<!--WTD_IF(STATUS_názevstavu,"…")-->
Používají se zde následující názvy stavů:
- ENTERED – vloženo
- PENDING - ke schválení
- APPROVED – schváleno
- PUBLISHED – publikováno
- SCHEDULED – odloženo
- EXPIRED – vypršelo
- ARCHIVED – archivováno
V praxi má smysl použít pouze stavy PUBLISHED nebo ARCHIVED, protože v ostatních případech by se podmíněně vkládaný text zobrazoval pouze v náhledu zprávy, což nemá přílišné využití.
Příkladem využití může být např. zobrazení informace o umístění zprávy do archívu v drobečkové navigaci. Pokud následující konstrukci umístíme v předloze pro zprávy do oblasti, ve které se nachází navíc nachází WebToDate navigace zobrazující tzv. drobečkovou navigaci, výsledek se může zobrazit tak, jak je naznačeno na následujícím otisku obrazovky.
<!--WTD_IF(STATUS_ARCHIVED," (Archív)")--> » <!--WTD_F(TITLE)-->

Klíčová slova pro listování fotogaleriemi
V těle stylu pro zdroje se v případě implementace listování fotogaleriemi (tj. možnosti posunu po jednotlivých fotografiích fotogalerie) mohou použít následující klíčová slova:
| <!--WTD_LISTS(ID)--> | ID seznamu, který se právě zobrazuje (zde ID seznamu zobrazujícího fotogalerii) |
| <!--WTD_F(ID)--> | ID zprávy, ke které je právě zobrazovaná položka ze zdrojů připojena |
| <!--WTD_F(TITLELINKENCODED)--> | URL-enkódované URL zprávy převzaté z pole Odkaz nadpisu zprávy |
| <!--WTD_F(RETURNURLENCODED)--> | URL-enkódované URL právě zobrazované stránky |
Celý odkaz na zobrazení jedné fotografie má pak v nejjednodušším případě tvar
<a href="/scripts/detail.php?id=<!--WTD_ASSET(ID)-->&newsid=<!--WTD_F(ID)-->&listid=<!--WTD_LISTS(ID)-->">
Použijeme-li ve stylu pro zdroje formátujícího seznam náhledů obrázků ve fotogalerii výše uvedený výraz, znamená to, že návratová adresa ve stránce s detailem jedné fotografie (tj. v detailu zdroje) bude mít při dosazení za <!--WTD_F(RETURNURL)--> výchozí tvar používaný WebToDate, čili /scripts/detail.php?id=xxx, kde xxx je ID zprávy předané přes parametr newsid. To nemusí být vždy žádoucí, např. pokud se zpráva s fotogalerií zobrazuje s vynucením nějaké šablony (přes parametr tmplid v URL) nebo se používají jiné SEO tvary URL zpráv, návratová adresa by mohla být jiná než původní adresa stránky se zprávou a mohlo by po kliku na návratové URL dojít i k zobrazení nesprávné stránky. Proto je možné uvést ještě parametr returnurl, kterým se uvede, jaká je návratová adresa ze stránky s detailem zdroje. Odkaz má pak kód
<a href="/scripts/detail.php?id=<!--WTD_ASSET(ID)-->&newsid=<!--WTD_F(ID)-->&listid=<!--WTD_LISTS(ID)-->&returnurl=<!--WTD_F(TITLELINKENCODED)-->">
kde lze do parametru returnurl vkládat buď <!--WTD_F(TITLELINKENCODED)--> (pokud se má vždy návratová adresa shodovat s URL zprávy uloženém v poli Odkaz nadpisu zprávy) nebo <!--WTD_F(RETURNURLENCODED)--> (pokud se požaduje návrat na přesné URL, ze kterého se detail zdroje zobrazil).
V hlavičce a patičce stylu pro zdroje lze použít následující klíčová slova:
| <!--WTD_F(ID)--> | ID zprávy, ke které je právě zobrazovaná položka ze zdrojů připojena |
| <!--WTD_F(TITLELINK)--> | Odkaz nadpisu zprávy, ke které je právě zobrazovaná položka ze zdrojů připojena |
Tuto možnost lze využít k vytvoření odkazu na zobrazení fotogalerie v jiné předloze (např. kompletní fotogalerie) a to pouze v případě, že nějaká fotogalerie ve zprávě existuje.
Příklad: chceme mít možnost umístit do fotogalerie libovolné množství obrázků. Ve stránce se zprávou ale chceme zobrazit pouze první tři fotografie, kompletní fotogalerii pak
zobrazit až po kliku na nějaký odkaz ve stránce se zprávou. Toto lze řešit tak, že do předlohy pro zprávy umístíme seznam typu přílohy ke zprávě, který zobrazuje položky
z daného druhu seznamů, ale je omezen jen na tři položky. Dále vytvoříme další předlohu pro zprávy, která nemá např. vloženo tělo zprávy apod., ale má připojen seznam typu
přílohy ke zprávě, který zobrazuje položky ze stejného druhu seznamů, ale s neomezeným počtem položek.
Do hlavičky či patičky stylu zobrazujícího první tři fotografie ve stránce se zprávou pak umístíme odkaz
<a href="<!--WTD_F(TITLELINK)-->&tmplid=255">Kompletní fotogalerie</a>
kde 255 je ID druhé předlohy pro zprávy, která má zobrazit kompletní fotogalerii.
V předloze pro zdroje lze použít následující klíčová slova:
| <!--WTD_LISTS(PREVIOUSITEM)--> | Odkaz na předchozí položku ve fotogalerii |
| <!--WTD_LISTS(NEXTITEM)--> | Odkaz na následující položku ve fotogalerii |
| <!--WTD_LISTS(PAGECURRENT)--> | Pořadové číslo aktuální položky ve fotogalerii; pokud není v URL stránky uveden parametr listid, dosadí se hodnota 1 |
| <!--WTD_LISTS(PAGETOTAL)--> | Celkový počet položek ve fotogalerii; pokud není v URL stránky uveden parametr listid, dosadí se hodnota 1 |
| <!--WTD_F(RETURNURL)--> | Odkaz na návrat zpět na fotogalerii |
| <!--WTD_F(NEWSID)--> | ID zprávy, která obsahuje fotogalerii, do které aktuálně zobrazovaná položka patří |
Dále se mohou použít následující podmíněné výrazy:
<!--WTD_IF(PREVIOUSITEM,"…")--> - kód se vkládá v případě, že existuje předcházející položka v galerii (aktuálně zobrazovaná položka není první)
<!--WTD_IF(NEXTITEM,"…")--> - kód se vkládá v případě, že existuje následující položka v galerii (aktuálně zobrazovaná položka není poslední)
<!--WTD_IF(RETURNURL,"…")--> - kód se vkládá v případě, že je známá návratová adresa umožňující se vrátit zpět na fotogalerii (stránku s náhledy).
Příklad části předlohy pro zdroje obsahující funkci pro listování fotogalerií, je tedy následující:
<div class="jednofoto">
<!--WTD_IF(PREVIOUSITEM,"<a href="<!--WTD_LISTS(PREVIOUSITEM)-->" title="Předchozí obrázek v této fotogalerii"><< Předchozí</a> ")-->
<!--WTD_IF(NEXTITEM,"<a href="<!--WTD_LISTS(NEXTITEM)-->" title="Následující obrázek v této fotogalerii">Následující >></a>")-->
<!--WTD_IF(RETURNURL," | (<!--WTD_LISTS(PAGECURRENT)--> / <!--WTD_LISTS(PAGETOTAL)-->) | <a href="<!--WTD_F(RETURNURL)-->" title="Přeskočit na přehled všech obrázků v této
fotogalerii">Zpět na text</a><br /><br />")-->
<img src="<!--WTD_ASSET(FILEURL)-->" alt="<!--WTD_ASSET(TITLE)-->">
<br />
<strong><!--WTD_ASSET(TITLE)--></strong>
<!--WTD_IF(ASSET_DESCRIPTIONNOTNULL,"<br /><!--WTD_ASSET(DESCRIPTION)-->")-->
<!--WTD_IF(ASSET_SOURCENOTNULL,"<br />Author: <!--WTD_ASSET(SOURCE)-->")-->
</div>
Klíčová slova pro formátování
Velikost souborů
Pro speciální formátování je podporována možnost zobrazení velikosti souborů z databáze zdrojů v kB. Standardně je pro zobrazení velikosti k dispozici klíčové slovo <!--WTD_ASSET(FILESIZE)-->, které zobrazí velikost souboru v B. Kromě toho lze použít konstrukci, kterou lze zobrazit velikost v kB:
<!--WTD_FORMAT(SIZE,"jednotka","<!--WTD_ASSET(FILESIZE)-->")-->
Výraz má tedy tři parametry:
- Druh formátování – SIZE
- Předpis pro formátování – zde "kB" (převod na kB) nebo "MB" (převod na MB)
- Co se formátuje - <!--WTD_ASSET(FILESIZE)--> reprezentuje celé číslo – velikost v B, které se pomocí tohoto výrazu převádí na kB či MB.
Tento výraz je použitelný všude tam, kde samotné klíčové slovo <!--WTD_ASSET(FILESIZE)-->, tj. ve stylech pro seznamy příloh i pro jednotlivé instance zdrojů ve zprávách i v předloze pro zdroje (zobrazování přes skript detail.php).
Jako třetí parametr nemusí být nutně uvedeno <!--WTD_ASSET(FILESIZE)-->, může tam být jakýkoliv podporovaný výraz včetně konstantního čísla. Výraz <!--WTD_FORMAT(SIZE,"kB","3869")--> tedy vrátí hodnotu 4. Při vyhodnocování se zjišťuje, jestli poslední parametr je celé číslo, pokud tomu tak je, provede se příslušné formátování, v opačném případě se vrací (tj. do stránky vloží) nezměněná hodnota třetího parametru.
Přepočet čísla v bytech na kB se provádí obvyklým zaokrouhlováním, minimum je ale 1, nikdy se tedy nezobrazí hodnota 0 kB. Při přepočtu se počítá 1 kB = 1024 B.
Druhou možností pro formátování velikosti souboru je
<!--WTD_FORMAT(SSIZE,"oddělovač","<!--WTD_ASSET(FILESIZE)-->")-->
Výraz má opět tři parametry:
- Druh formátování – SSIZE
- Oddělovač – znak(y) oddělující číslo a jednotku
- Co se formátuje - <!--WTD_ASSET(FILESIZE)--> reprezentuje celé číslo – velikost v B, které se pomocí tohoto výrazu převádí na jiné jednotky.
Formátování SSIZE vrátí zformátovanou velikost v závislosti na skutečné velikosti – velikost malých souborů (< 1 kB) bude velikost v bytech + znak B, středních (< 1 MB) v kilobytech + znak kB, velkých v MB plus znak MB. Druhý parametr definuje, co se vkládá mezi číslo a jednotku (např. mezera). Znaky jednotek (B, kB, MB) jsou zabudovány natvrdo a nejsou v parametrech.
Omezení délky vkládaného textu
Další možností konstrukce WTD_FORMAT je možnost omezit vložený text na nějaký maximální počet znaků. Typickým použitím je např. to, že chceme vkládat v nějakém seznamu popisy zpráv, ale zajistit, že ve stránce se zobrazí pouze např. prvních 200 znaků popisu. Syntaxe tohoto příkazu je následující:
<!--WTD_FORMAT(SMAXLEN,"formátovací předpis","ořezávaný text")-->
Formátovací předpis obsahuje maximální výsledný počet znaků a volitelně řetězec, který se doplňuje, pokud dochází k oříznutí (počet znaků je povinný, doplňující řetězec ne). Třetím parametrem (ořezávaný text) může být nějaký statický textový řetězec nebo nějaké klíčové slovo WebToDate.
Funkce pracuje tak, že pokud má třetí parametr tolik znaků kolik je uvedeno ve druhém parametru nebo méně, vrací přesně řetězec, který je třetím parametrem. Pokud má text více znaků je oříznut na daný počet znaků a od konce je navíc odříznuto poslední slovo nebo jeho zbytek (aby text nekončil v půli slova), na konec je doplněn řetězec daný druhou částí předpisu (doporučuje se HTML entita …, tj. 3 tečky, ale může to být cokoliv jiného).
Příkladem použití je výraz
<!--WTD_FORMAT(SMAXLEN,"250,…","<!--WTD_F(DESCRIPTION)-->")-->
Toto znamená, že do stránky se vkládá popis zprávy. Pokud je popis kratší než 250 znaků, vloží se celý, pokud je delší, ořízne se výše popsaným způsobem a doplní se třemi tečkami.
Další příklady použití jsou např.:
<!--WTD_FORMAT(SMAXLEN,"90,…","<!--WTD_ASSET(TITLE)-->")-->
<!--WTD_FORMAT(SMAXLEN,"15","Tohle je moc dlouhý řetězec")-->
Tento výraz lze opět použít ve WebToDate stylech nebo v předlohách pro zprávy či zdroje.
Převod textu na malá nebo velká písmena
Je k dispozici převod formátovaného textu na malá resp. velká písmena. Příslušný výraz je
<!--WTD_FORMAT(CHARCASE,"volba","převáděný_text")-->
Parametry výrazu jsou
- volba formátování CHARCASE
- volba převodu na velká nebo malá písmena - možné hodnoty jsou UPPER a LOWER
- převáděný text
Příklad použití je tedy
<!--WTD_FORMAT(CHARCASE,"UPPER","<!--WTD_ASSET(FILETYPE)-->")-->
Pokud je hodnota druhého parametru jakákoli jiná než UPPER resp. LOWER, formátování vrací nezměněnou hodnotu třetího parametru (tj. formátovaný řetězec se do stránky vloží bez jakékoli změny).
Formát data
Ve stránkách (stylech či předlohách pro zprávy) lze nastavit formátování konkrétního časového údaje. Syntaxe tohoto příkazu je následující:
<!--WTD_FORMAT(DATE,"formátovací předpis","formátovaný časový údaj")-->
V části formátovací předpis se uvádí formátovací řetězec v syntaxi PHP, kompletní seznam možností je uveden v dokumentaci PHP např. na stránce http://cz.php.net/date. Formátovaný časový údaj je pole WebToDate s datem (<!--WTD_F(DATE)-->, <!--WTD_F(DATEACT)--> apod.) nebo pevně daný řetězec s datem.
Příklady užití tedy jsou:
<!--WTD_FORMAT(DATE,"Y-m-d","<!--WTD_F(DATEACT)-->")--> - zobrazuje datum aktualizace zprávy ve formátu 2007-11-27 (bez času)
<!--WTD_FORMAT(DATE,"d.m.Y h:i:s","<!--WTD_F(DATEACT)-->")--> - zobrazuje datum a čas aktualizace zprávy ve formátu 03.12.2007 11:55:00, tedy s úvodními nulami a s časem včetně sekund, hodiny ve 12ti hodinovém formátu
<!--WTD_FORMAT(DATE,"j.n.y G:i","<!--WTD_F(DATEACT)-->")--> - zobrazuje datum a čas aktualizace zprávy ve formátu 26.11.07 21:16, tedy datum bez úvodních nul, z letopočtu jen poslední dvojčíslí, čas bez vteřin a s hodinami ve 24-hodinovém formátu.
Převod znaků na HTML entity
V některých případech je žádoucí v prezentační vrstvě automaticky převádět vybrané znaky v HTML kódu stránky na HTML entity, např. pokud má stránka vyhovět XHTML normě. Pomocí konstrukce WTD_FORMAT lze takto převádět následující entity v textu např. zprávy:
| " | " |
| & | & |
| < | < |
| > | > |
Syntaxe tohoto formátovacího příkazu je následující:
<!--WTD_FORMAT(ENTITIES,"formátování","výraz")-->
Za formátování lze zadat hodnoty:
- 0 (nebo jakákoli jiná hodnota kromě 1) - znaky " & < > se převádějí na výše uvedené entity
- 1 - kromě výše uvedených čtyřech znaků se ještě převádějí jednoduché uvozovky ' na číselnou entitu '
Za výraz lze zadat nějaké klíčové slovo WebToDate odpovídající např. klíčovému slovu pro texty z databáze zpráv nebo zdrojů, nebo i statický text. Ve stylu či předloze pro zprávy tak lze použít např. výraz
<!--WTD_FORMAT(ENTITIES,"0","<!--WTD_F(TITLE)-->")-->
Tento výraz vloží do stránky nadpis zprávy a znaky " & < > vyskytující se případně v nadpisu zprávy převede před vložením do stránky na výše uvedené entity.
Převod řetězce na url-encoded tvar
V případě, že se má nějaký textový řetězec stát součástí nějakého URL uvedeného ve stránce, je vhodné jej převést na url-encoded tvar. To se dělá pomocí výrazu
<!--WTD_FORMAT(URLENCODE,"volba","formátovaný_text")-->
Výraz má následující parametry:
- volba formátování URLENCODE
- způsob převodu
- formátovaný text
Pokud je zadán jako druhý parametr prázdný řetězec nebo cokoli jiného kromě hodnoty RAW, volá se na tuto konverzi PHP funkce urlencode(), má-li druhý parametr hodnotu RAW, volá se PHP funkce rawurlencode().
Typická příklad použití je
<!--WTD_FORMAT(URLENCODE,"","<!--WTD_F(TITLE)-->")-->
Formátování reálných čísel
Ve stránkách (stylech či předlohách pro zprávy) lze použít formátování reálných čísel, což má smysl zejména pro formátování položek přizpůsobitelné struktury databáze zpráv typu reálné číslo. Syntaxe tohoto příkazu je následující:
<!--WTD_FORMAT(MONEY,"formátovací předpis","hodnota")-->
Řetězec formátovací předpis určuje formátování reálného čísla:
- Jako první nepovinný znak se uvádí oddělovač tisíců.
- Jako druhý znak je počet zobrazovaných desetinných míst.
- Jako třetí nepovinný znak se uvádí oddělovač desetinných čísel – desetinná tečka nebo čárka.
- Jako čtvrtý nepovinný znak je znak nahrazující desetinná místa, pokud jsou nulová – např. pomlčka. (pokud není definován, zobrazí se odpovídající počet nul)
Příklady použití výsledek:
<!--WTD_FORMAT(MONEY,"2,","9.1")--> 9,10
<!--WTD_FORMAT(MONEY,"2,-","9")--> 9,-
<!--WTD_FORMAT(MONEY,".2,","9000")--> 9.000,00
Formátování pomocí regulárních výrazů
Ve stylech a předlohách lze použít formátování pomocí regulárních výrazů, což je vůbec nejuniverzálnější možnost, jak vybraný obsah stránek formátovat. Parametry se zadávají stejně jako u PHP funkce ereg_replace(). Syntaxe této možnosti formátu je následující:
<!--WTD_FORMAT(REGEXP,"pattern","náhrada","vstupní řetězec")-->
Funkce nahradí část vstupního řetězce, která vyhovuje regulárnímu výrazu (pattern) řetězcem náhrada. V řetězci náhrada lze použít i metaznak \\číslice, který určuje podvýraz regulárního výrazu. Metaznak \\0 určuje celý řetězec vyhovující regulárnímu výrazu.
Jednoduché příklady použití možnosti formátování typu REGEXP jsou např.:
- Označení prvního znaku nadpisu zprávy tučně:
<!--WTD_FORMAT(REGEXP,"(^.)","<strong>\0</strong>","<!--WTD_F(TITLE)-->")-->
- Nahrazení slova „Facebook“ v popisu zprávy plným odkazem na www.facebook.com:
<!--WTD_FORMAT(REGEXP,"(Facebook)","<a href="http://www.facebook.com">\1</a>","<!--WTD_F(DESCRIPTION)-->")-->
- Oříznutí popisu zprávy přesně na 100 znaků a doplnění tří teček na konec:
<!--WTD_FORMAT(REGEXP,"(^.{100})(.*)","\1…","<!--WTD_F(DESCRIPTION)-->")-->
- Nahrazení znaku @ za řetězec „- zavináč -“ v e-mailové adrese (při publikaci e-mailů např. v seznamu dotazů v modulu Poradny a rozhovory):
<!--WTD_FORMAT(REGEXP,"@"," - zavináč - ","<!--WTD_USER(EMAIL)-->")-->
- Vypsání jména před znakem @ v e-mailové adrese:
<!--WTD_FORMAT(REGEXP,"(.*)\@.*","\1","<!--WTD_USER(EMAIL)-->")-->
- Vypsání názvu domény z e-mailové adresy za znakem @:
<!--WTD_FORMAT(REGEXP,".*\@(.*)","\1","<!--WTD_USER(EMAIL)-->")-->
Příklad WebToDate stylu pro zprávy, kde je pomocí tohoto formátování vyznačeno tučně první písmeno nadpisu zprávy, je tedy
<div class="blok1">
<a href="<!--WTD_F(TITLELINK)-->">
<!--WTD_FORMAT(REGEXP,"(^.)(.)","<strong>\1</strong>\2","<!--WTD_F(TITLE)-->")-->
</a>
<div class="img160"><!--WTD_F(PIC)--></div>
<div class="desclarge">
<!--WTD_F(DESCRIPTION)-->
</div>
</div>
Klíčová slova pro podporu vícejazyčných webů
Vkládání odkazů na jiné jazykové verze zpráv či stránek
| Klíčové slovo | Význam | Poznámka |
| <!--WTD_PG_LANG(ID stránky, kód jazyka)--> | Odkaz na jazykovou verzi stránky | Vloží URL jazykové verze stránky zadané pomocí jejího ID, např.
<!--WTD_PG_LANG(20, EN)--> vloží odkaz na anglickou jazykovou verzi stránky s ID 20 |
| <!--WTD_PG_LANG(*, ''kód jazyka'')--> | Odkaz na jazykovou verzi aktuální stránky | Stejné jako v předchozím případě, ale za znak * se při generování vloží ID aktuálně generované stránky |
| <!--WTD_ART_LANG(''ID zprávy'', ''kód jazyka'')--> | Odkaz na jazykovou verzi dané zprávy | Vloží URL jazykové verze zprávy zadané pomocí jejího ID, např. <!--WTD_ART_LANG(25, EN)--> vloží odkaz na anglickou jazykovou verzi zprávy s ID 25 |
| <!--WTD_ART_LANG''(*, ''kód jazyka'')--> | Odkaz na jazykovou verzi aktuální zprávy | Stejné jako v předchozím případě, ale za znak * se při generování vloží ID aktuálně zobrazované zprávy |
Pro nahrazování těchto klíčových slov hodnotou platí následující:
- Pokud je uvedeno konkrétní ID zprávy či stránky, nahradí se klíčové slovo odkazem okamžitě při generování stránky.
- Obsahuje-li klíčové slovo typu WTD_ART_LANG jako parametr hvězdičku, při generování stránky (tj. typicky předlohy pro zprávy) se toto klíčové slovo nenahradí a zůstává ve stránce. Konkrétní hodnota je dosazena až prezentačním skriptem při zobrazení celého textu zprávy.
- Obsahuje-li klíčové slovo typu WTD_PF_LANG jako parametr hvězdičku, nahradí se ve stránce hodnotou, jen pokud generovaná stránka nemá následníka ve stromu stránek, jinak ve stránce zůstává beze změny. To umožňuje toto klíčové slovo vložit do stránky, která je šablonou pro více různých stránek.
Podmíněné vkládání odkazů
| Klíčové slovo | Význam | Poznámka |
| <!--WTD_IF(PG_LANGNOTNULL, ID stránky, kód jazyka,"vkládaný HTML kód")--> | Vloží kód, pokud existuje daná jazyková verze stránky s daným ID | Vkládaný HTML kód může opět obsahovat značky WebToDate |
| <!--WTD_IF(PG_LANGNULL, ID stránky, kód jazyka,"vkládaný HTML kód")--> | Vloží kód, pokud neexistuje daná jazyková verze stránky s daným ID | Vkládaný HTML kód může opět obsahovat značky WebToDate |
| <!--WTD_IF(ART_LANGNOTNULL, ID zprávy, kód jazyka,"vkládaný HTML kód")--> | Vloží kód, pokud existuje daná jazyková verze zprávy s daným ID | Vkládaný HTML kód může opět obsahovat značky WebToDate |
| <!--WTD_IF(ART_LANGNULL, ID zprávy, kód jazyka,"vkládaný HTML kód")--> | Vloží kód, pokud neexistuje daná jazyková verze zprávy s daným ID | Vkládaný HTML kód může opět obsahovat značky WebToDate |
Pro nahrazování těchto podmíněných výrazů platí stejná pravidla jako v předchozí kapitole, lze je tedy bez problémů použít jako v předlohách pro zprávy tak v šablonách stránek.
Příklady:
<!--WTD_IF(ART_LANGNOTNULL, 305, EN,"<a href="<!--WTD_ART_LANG(305, EN)-->">English version</a>")-->
<!--WTD_IF(ART_LANGNOTNULL, *, EN,"<a href="<!--WTD_ART_LANG(*, EN)-->">Anglická verze článku <!--WTD_F(TITLE)--></a>")-->
Další klíčová slova
V šabloně stránek lze použít klíčové slovo <!--WTD_F(PAGETITLE)-->, které reprezentuje titulek stránky. Toto klíčové slovo se ve stránce nahradí titulkem stránky pouze v případě, že stránka nemá následníka ve stromu kategorií.
V šabloně stránek lze použít klíčové slovo <!--WTD_F(PAGECATEGID)-->, které reprezentuje ID kategorie, ve které se stránka nachází.