parentsOf
Vrátí seznam assetů, které v assetovém stromu tvoří cestu od zvoleného předka assetu k assetu samotnému.
List<Asset>parentsOf
(
Asset descendant [,
Boolean with-root [,
Asset root ] ])
- descendant
- Asset, kterým má seznam končit.
- with-root
- Určuje, zda má seznam začínat přímo kořenovým assetem (hodnota
true
), nebo až jeho bezprostředním potomkem, který se na cestě vyskytuje jako další (hodnotafalse
). - root
- Asset, od kterého má cesta začít.
Motivace
Je rozumné navrhovat prezentační logiku tak, aby struktura prezentace reprezentovaná navigačními prvky byla shodná se strukturou sekcí v assetovém stromu.
Pokud je tato prerekvizita splněna, je možné pomocí funkce parentsOf
snadno generovat cestu ke zvolené sekci: pro účely výpisu drobečkové navigace nebo podobně.
<div id="breadcrumbs">
<a href="{link(_site.homeSection)}">Domů</a>
{while parentsOf(_primary, false, _publish)}
> <a href="{value(target(_), link(_))}">{_.title}</a>
{/while}
</div>
Pro jednoduchost opět předpokládáme, že je prezentace symetrická. V takovém případě je prvním potomkem kořenové sekce prezentace hned sekce první úrovně, kterou má drobečková navigace obsahovat na druhém místě (po odkazu na domovskou stránku).
V příkladu se používá také proměnná _site, jejíž hodnotou je aktuální Konfigurace prezentace. Tento asset má atribut Domovská sekce (systémový název je homeSection
), který využijeme při konstrukci odkazu na domovskou stránku. Toto je pochopitelně možné jen v případě, že je buď prezentace jednojazyčná, nebo že má datový slovník v přesně tolika jazycích, kolik je jazyků prezentace.
Výpis používá možnosti konfigurovat cíle odkazů v navigační struktuře. Viz podrobný výklad.
Obdobně je možné funkci použít i v případě, kdy má navigační struktura části prezentace kopírovat strukturu složek ve vybrané části assetového stromu.
Viz také popis funkce isParent a podhodnoty parent
assetu.