output
Příkaz pro definování a plnění kanálů (conduits).
Tento příkaz je v tuto chvíli dostupný jen v administračním rozhraní jNP.
Za normálních okolností výstup ze šablony směřuje na místo, kde se vyskytuje příslušný text nebo příkaz. Pomocí příkazu output
je možné výstup nasměřovat jinam – do tzv. kanálů (conduits):
- Každý kanál je definován svým jménem; v prostředí TFS je uložené jeho místo (typicky tam, kde byl vytvořen).
- Během vypisování stránky každý kanál shromažďuje výstup, který mu patří.
- Na místo kanálu se nakonec vloží veškerý nasbíraný text kanálu
output
name [new
|continue
|reset
|switch
] [once
key ] statement-body/output
- name
- Jméno kanálu.
new
- Vytvoří nový kanál. Způsobí chybu, pokud kanál s daným jménem už existuje 1.
continue
- Doplní existující kanál. Způsobí chybu, pokud kanál s daným jménem ještě neexistuje 1.
reset
- Přepíše dosavadní obsah kanálu.
switch
- Změní místo kanálu z původního na místo příkazu s tímto přepínačem. Hodí se např. na přesunutí javascriptů ke konci HTML dokumentu.
once
key- Výraz key specifikuje klíč obsahu. Daný obsah se generuje, pokud pro daný klíč kanál ještě nebyl generován.
- statement-body
- Výchozí obsah kanálu. Lze jej doplnit (
continue
) nebo přepsat (reset
).
1) Není-li uveden žádný klíč (new
nebo continue
) bude obsah do kanálu doplněn (pokud kanál s daným jménem již existuje) nebo se vytvoří nový kanál s tímto obsahem (pokud kanál s daným jménem dosud neexistuje).
Příklad: Příkaz output
Šablona main_template
<html>
<head>
<title>Output</title>
{output "styles" new}
<link rel="stylesheet" href="screen.css" type="text/css">
{/output}
</head>
<body>
<h1>Output</h1>
{while range(1,4)}
{output "styles" continue once "calendar-css"}
<link rel="stylesheet" href="calendar.css" type="text/css">
{/output}
{_}. <input type="text" class="calendar">
{/while}
{_template.footer_template}
</body>
</html>
Šablona footer_template
{output "styles" continue}
<link rel="stylesheet" href="footer.css" type="text/css">
{/output}
<div id="footer">
Lorem ipsum dolor sit amet.
</div>
Výstup
<html>
<head>
<title>Output</title>
<link rel="stylesheet" href="screen.css" type="text/css">
<link rel="stylesheet" href="calendar.css" type="text/css">
<link rel="stylesheet" href="footer.css" type="text/css">
</head>
<body>
<h1>Output</h1>
1. <input type="text" class="calendar">
2. <input type="text" class="calendar">
3. <input type="text" class="calendar">
4. <input type="text" class="calendar">
<div id="footer">
Lorem ipsum dolor sit amet.
</div>
</body>
</html>
Styl pro kalendář se přidá jen jednou, protože příkaz output
obsahuje přepínač once.
Pro vložení příspěvku do diskuse se přihlašte.