join
Funkce spojí pole řetězců/objektů do jednoho řetězce.
Stringjoin(( List<String> | List<Object> ) ls,String glue [,String subvalue [,Boolean trailing [,Boolean leading [,Boolean empty ] ] ] ])
- ls
 - Seznam spojovaných řetězců, případně objektů, z nichž se řetězce mají získat.
 - glue
 - Spojující řetězec.
 - subvalue
 - Název podhodnoty spojovaných objektů. Pokud je nastaveno, z každého prvku ls se získá podhodnota s tímto názvem a spojují se takto získané hodnoty.
 - trailing
 - Indikuje, zda se má na konec pospojovaného řetězce také připojit glue. Defaultně se tak neděje.
 - leading
 - Indikuje, zda se má na začátek pospojovaného řetězce také připojit glue. Defaultně se tak neděje.
 - empty
 - Indikuje, zda se má v případě, že je ls prázdný seznam, vrátit glue (hodnota 
true) nebo null (hodnotafalse). Defaultní hodnota jefalse. 
Funkce vytvoří řetězec tak, že mezi jednotlivé prvky seznamu ls vloží řetězec glue. Pokud je seznam ls prázdný, funkce vrátí null.
Příznaky trailing a leading se uplatňují jen v případě, že je seznam neprázdný: pak se na konec, resp. na začátek vloží také oddělovač.
Pozor: Funkce ignoruje všechny hodnoty null v seznamu ls.
Příklad: Spojení řetězců
Šablona
			{with asList("a", "b", "c")}
Výchozí:   {join(_, ", ")} 
Trailing:  {join(_, ", ", null, true)} 
Leading:   {join(_, ", ", null, null, true)}
{/with}
{with asList()} 
Bez empty: {join(_, ", ")} 
Empty:     {join(_, ", ", null, null, null, true)} 
{/with}
Výstup
			Výchozí:   a, b, c 
Trailing:  a, b, c,  
Leading:   , a, b, c 
Bez empty:  
Empty:     , 
Možnost spojit podhodnoty objektů v seznamu se dá využít v případech, kdy je třeba spojený řetězec dále použít například jako argument.
Příklad: Spojení názvů seznamu assetů
Šablona
			{join(sortedChildren(_primary), ', ', 'title')}
Výstup
			Novinky, O nás, Katalog, Kontakty, Mapa stránek
Funkce sortedChildren vrací seznam všech potomků aktuální sekce.
Funkce join vybere z každého z těchto assetů podhodnotu title (tedy titulek) a výsledek spojí do jednoho řetězce s čárkou jako oddělovačem.
Viz také funkci split.
Pro vložení příspěvku do diskuse se přihlašte.