_primary
Aktuální primární sekce.
Pojmem primární se rozumí nejhlubší zobrazovaná sekce ve struktuře prezentace; odlišuje tedy skutečně aktuální sekci od její rodičovské sekce a všech dalších nadřazených sekcí.
Podobně jako u obsahového assetu se jedná o položku obsaženou ve struktuře identifikátoru aktuální stránky; na rozdíl od obsahového assetu je ale tato položka vždy definovaná.
Typické použití této hodnoty zahrnuje jednak výpis navigačních struktur (menu, drobečková navigace), jednak nalezení šablony pro výpis obsahu sekce.
<ul id="main-menu">
{while _template.main_menu}
<li>
<a href="{link(_.asset)}">
{_.title}
</a>
</li>
{/while}
</ul>
<ul id="main-menu">
{while _template.main_menu}
<li>
<a href="{link(_.asset)}">
{if isParent(_.asset, _primary)}
<strong>{_.title}</strong>
{else}
{_.title}
{/if}
</a>
</li>
{/while}
</ul>
<ul id="main-menu">
{while _template.main_menu}
<li>
<a href="{value(target(_.asset), link(_.asset))}">
{if isParent(_.asset, _primary)}
<strong>{_.title}</strong>
{else}
{_.title}
{/if}
</a>
</li>
{/while}
</ul>
Hlavní menu je reprezentované výčtovým datovým zdrojem obsahujícím seznam sekcí. V tomto příkladu je tento datový zdroj připojený k aktuální šabloně referencí main_menu
.
Při výpisu se u každé položky zkontroluje, zda je rodičem aktuální primární sekce. Pokud ano, je třeba ji v menu zvýraznit – vyznačit jako aktuální.
Díky vlastnostem funkce isParent
se jako aktuální zvýrazní i ta položka hlavního menu, která je aktuální primární sekcí.
Dále je užitečné dodržovat konvenci, která umožní volit libovolně cíl odkazu pro dané položky menu; třetí ukázka demonstruje, jak lze k tomuto účelu využít funkci target. Viz také podrobný výklad.
<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.
Při výpisu obsahu primární sekce je vhodné jako default vypsat její dětský asset se systémovým názvem index
.
Primární sekce je jedním z hlavních vstupů, určujících, jak bude probíhat výpis stránky.