link
Generuje objekt reprezentující URL odkazu.
Funkce generuje různé reprezentace URL podle toho, jestli se volá v editačním, nebo v publikačním rozhraní systému jNetPublish:
- Ve editačním rozhraní je to objekt
Address
. - Ve veřejném rozhraní je to běžná PageIdentification.
PageIdentificationlink
(
[ SectionData primary,
] [ Asset main,
] [ PageletData pagelet [,
String action ] ] [,
String format [,
String language ] ])
- primary
- Odkazovaná sekce.
- main
- Hlavní obsahový asset odkazované stránky; typicky článek.
- pagelet
- Volaný pagelet.
- action
- Akce (webová metoda) volaného pageletu.
- format
- Výstupní formát cíle odkazu.
- language
- Jazyk cíle odkazu.
Motivace
Funkce slouží k sestavení identifikace stránky, na kterou má vést odkaz, přímo v šabloně, z jednotlivých prvků vytvářené struktury. Je tedy v jistém smyslu komplementem k funkci target, která jen zpřístupňuje odkaz, který už existuje jako součást assetového obsahu.
Volitelné parametry, výchozí hodnoty
Prakticky všechny parametry funkce jsou volitelné.
Nejdůležitější je v praxi možnost volat funkci tak, že není uvedená hodnota primary, ale je uvedený asset main ("článek"). V takovém případě se může uplatnit jedna nebo několik strategií pro dohledání primární sekce k hlavnímu assetu:
- uplatnění pravidel definovaných v relevantní konfiguraci náhledu;
- pokud je rodičem assetu main sekce nebo asset odvozeného typu, použije se tato sekce jako primary.
V daném projektu se může použít jedna nebo obě uvedené strategie v libovolném pořadí; je také možné relativně snadno přidávat další strategie.
<form method="post" action="{link(_me,"save")}">
...
</form>
Funkce link generuje odkaz na aktuálně vypisovaný pagelet (to je hodnota proměnné _me); při tom se volá jeho webová metoda "save".
Toto je nejběžnější způsob vytvoření odkazu na pagelet v jeho šabloně.
<link rel="stylesheet" type="text/css" media="screen"
href="{link(_template.secCss, _template.screen, "css", "none")}" />
<link rel="stylesheet" type="text/css" media="screen"
href="{target(_template, "cssScreen")}" />
Odkaz na styl je možné vytvořit dvěma způsoby:
- buď ho sestavit z několika referencí na assety (připojených k šabloně jako její vlastnosti) pomocí funkce link,
- nebo u šablony definovat celý odkaz najednou (viz popis ortogonálních odkazů) a jen ho načíst pomocí funkce target.
Druhá možnost je poněkud flexibilnější – umožňuje měnit cíl odkazu i samotný typ odkazu, aniž by bylo nutné zasahovat přímo do kódu šablony.
Další práce s odkazem, další možnosti
Funkce typicky vrací objekt PageIdentification, který je možné snadno hned vypsat, ale jinak je práce s ním ne zcela triviální. Viz příslušnou dokumentaci.
Funkce umožňuje vytvářet jen odkazy v rámci jedné prezentace a na dané úrovni zabezpečení. Tato omezení nemá funkce xlink.