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:
chapter
Kapitola, přes jejíž dětské položky se má iterovat. Pokud kapitola není zadána nebo je hodnota
null
nebo 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
).