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ší (hodnota false).
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ě.

Příklad: Výpis drobečkové navigace
Šablona
<div id="breadcrumbs">
  <a href="{link(_site.homeSection)}">Domů</a>
  {while parentsOf(_primary, false, _publish)}
    &gt; <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.

Pro vložení příspěvku do diskuse se přihlašte.