Kniha (hierarchický datový zdroj)
Datová třída
com.etnetera.jnp.data.BookDataSourceData
Rozšiřuje
Obsahové varianty
- book (
book)
Atributy
(Kromě atributů dále uvedených také může dědit od typu EnumeratedDataSourceData. Viz úvodní poznámky k tomuto přehledu.)
Tento typ nedefinuje žádné vlastní atributy.
Použití
Asset dovoluje definovat hierarchicky uspořádané seznamy assetů. Každý asset může být do seznamu v tomto výčtovém zdroji zařazený jako "kapitola" (může mít pod sebe zařazené dětské položky) nebo jako "odstavec" (nebude nikdy mít dětské položky). Hloubka zanoření není v principu nijak omezená.
Parametry příkazu while
Při iteraci přes zdroj je možné zadat dva parametry:
chapterKapitola, přes jejíž dětské položky se má iterovat. Pokud kapitola není zadána nebo je hodnota
nullnebo prázdný řetězec, iteruje se přes položky nejvyšší úrovně.Kapitolu lze zadat následujícími hodnotami:
- uvedením příslušného assetu,
- uvedením assetové obálky obsahující asset,
- zadáním identifikátoru assetu (Integer),
- zadáním "kotvy" kapitoly (String); jedná se o identifikátor generovaný automaticky v editačním rozhraní.
itemType- Pokud je tato hodnota zadána, iteruje se jen přes položky daného typu. Možné hodnoty jsou (řetězce) "paragraph" (nebo "par"; iteruje se jen přes odstavce) a "chapter" (nebo "chap"; iteruje se jen přes kapitoly).
{while _asset chapter=useChapter}
{whilefirst}<ul>{/whilefirst}
<li>
<a href="{link(_.asset)}">{_.title}</a>
{_asset mode=_mode useChapter=_}
</li>
{whilelast}</ul>{/whilelast}
{/while}
Při prvním výpisu tohoto fragmentu je parametr useChapter nedefinovaný, iteruje se tedy přes nejvyšší úroveň.
Při výpisu každé z položek se zavolá formátovač na týž asset, liší se jen hodnota useChapter, ve které se předá vždy aktuální assetová obálka.
Další vlastnosti assetové obálky
Při iteraci přes assetové datové zdroje příkazem while nejsou hodnotou proměnné _ přímo assety, ale assetové obálky – viz obecný úvod. Pro asset typu Kniha má assetová obálka tyto vlastnosti:
asset- Asset obsazující místo aktuální položky.
parent- Assetová obálka – rodičovská položka aktuální položky v hierarchii knihy.
children- Seznam assetových obálek dětských položek v hierarchii knihy.
title- Vlastní titulek (titulek položky nastavený v editoru knihy) nebo titulek assetu.
controlWords- Řídící slova nastavená v editoru knihy. Lze použít pro řízení výpisu.
paragraph- Příznak pro odlišení, zda je aktuální položka odstavec (
true), nebo kapitola (false).