Odkaz na jednoduchý soubor

Nejjednoduší typ obsahu odkazovaného z webové stránky je statický soubor, který sám žádné webové adresy neobsahuje.

V takovém případě není potřeba řešit integritu referencí na další obsah a soubor může být uložený v CMS staticky, jako obsah assetu Soubor.

Způsob odkazování na takový soubor můžeme demonstrovat na připojení tiskového stylu k prezentaci.

Soubor se stylem

Soubor se stylem je nejprve potřeba přenést do systému jNetPublish: Je třeba vytvořit asset typu Soubor (zvolte textovou obsahovou variantu) a do něj obsah vložit. Pro systém je zcela lhostejné kde ve struktuře složek bude soubor uložený; je ale žádoucí umístit ho tak, aby nebyl přístupný pro správce obsahu a publikované struktury prezentace; obyčejně se umisťuje do některé z podsložek složky logic.

Odkaz na soubor

V HTML dokumentu, který zobrazujeme – tedy vlastně v hlavní šabloně prezentace – je obsažený následující fragment odkazující styl:

Výchozí HTML kód
<link href="styles/print.css"
  type="text/css" media="print" rel="stylesheet" />

Hodnotu atributu href je zde třeba nahradit kódem, který bude automaticky generovat URL aktuální verze souboru.

Konstrukce odkazu v TFS šabloně

Pro TFS kód šablony je třeba nějakým způsobem zpřístupnit vytvořený asset se souborem. Nejběžnější technikou je využití proměnné _template. Hodnotou této proměnné je asset s aktuální šablonou. Šablona, stejně jako každý jiný asset, může mít přidané libovolné vlastnosti a přes proměnnou _template lze k těmto vlastnostem přistupovat. Postup je tedy následující:

  • Je třeba vytvořit vlastnost hlavní šablony; půjde o vlastnost typu "reference na asset"; název je zcela libovolný; pro přehlednost volíme název print_css. Cílem reference je vytvořený Soubor.
  • V šabloně samotné je od tohoto okamžiku možné přistupovat k souboru konstruktem _template.print_css (a obecně lze přistupovat k hodnotě jakékoli vlastnosti: _template.název_vlastnosti).

K sestavení URL aktuální verze souboru slouží TFS funkce ref. Výsledná podoba kódu tedy bude:

Funkce ref
<link href="{ref(_template.print_css)}"
  type="text/css" media="print" rel="stylesheet" />

Oddělení definice odkazu

Sestavování odkazu v šabloně má zcela obecně své nevýhody: pokud bychom například chtěli začít generovat odkaz na soubor dynamicky, bylo by nutné změnit jak vlastnosti šablony, tak TFS kód v samotné šabloně.

Lepší praxí je využít další možnosti systému jNetPublish: každý asset může mít definované připojené odkazy. Zatímco vlastnost je jednoduchá hodnota (řetězec nebo reference na asset), odkaz je struktura obsahující všechny informace, které systém potřebuje k tomu, aby mohl sestavit URL.

V našem případě můžeme vytvořit odkaz pojmenovaný print_css; půjde o podtyp odkazu "soubor" a odkazovaný asset bude opět asset se souborem vytvořený na začátku.

V TFS kódu šablony je možné k odkazům libovolného assetu (tedy i assetu, který je hodnotou proměnné _template – aktuální šablony) pomocí funkce target. Argumenty funkce jsou (1) asset a (2) zvolený název odkazu.

Upravený TFS kód bude následující:

Funkce target
<link href="{target(_template, "print_css")}"
  type="text/css" media="print" rel="stylesheet" />

Shrnutí

Statické soubory se v systému jNetPublish vytvářejí jako assety typu Soubor. Na soubory lze odkazovat pomocí funkce ref. Odkaz lze ale také vydělit jako odkaz připojený k šabloně a pak ho získat pomocí funkce target.

Stránky tutoriálu:
Pro vložení příspěvku do diskuse se přihlašte.