Kniha (hierarchický datový zdroj)

Datová třída

com.etnetera.jnp.data.BookDataSourceData

Rozšiřuje

EnumeratedDataSourceData

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).
Příklad: Výpis celé hierarchie knihy formátovačem
Pravidlo formátovače
{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).
Pro vložení příspěvku do diskuse se přihlašte.