Ikony souborů

JellyPot umí přiřazovat ikony ze sady ikon k nahraným souborům. Sada ikon obsahuje ikony pro jednotlivé typy souborů. Ikony jsou obrázky ve formátu .gif nebo .png. Ikona, která bude zobrazena, je určena podle přípony zobrazovaného souboru – např. pro s příponou .txt bude zobrazen obrázek txt.gif nebo txt.png. Pokud v sadě ikon ikona pro danou příponu souboru chybí, použije se obrázek default.gif. Rozměry všech ikon v sadě (tj. šířka a výška obrázku) by měly být shodné.

JellyPot obsahuje základní sadu ikon ve velikostech 16×16, 24×24, 32×32, 48×48, 64×64, 96×96, 128×128 a 256×256px. Základní sada je uložena v adresáři /admin/AppLibs/fileIcons, každá velikost ve vlastním podadresáři. Je možné si přidat sady vlastní. Různá velikost, různá sada.

Při výběru sady ikon postupuje JellyPot takto:

Chceme ikonu ano ano ne ne Použij ikonu z uvedeného setu Použij ikonu z výchozí uživatelské sady Použij ikonu z výchozí systémové sady Je v Addins.config definována výchozí uživatelská sada? <je:fileIcon> uveden atribut set?

Vlastní sada ikon

JellyPot umožňuje používat vlastní sady ikon. Při použití vlastní sady ikon se velmi nedoporučuje nahrazovat základní sady v adresáři /admin/AppLibs/fileIcons – při dalším update systému JellyPot dojde k jejich přepsání. Použijte tedy tento postup:

  1. zhotovte vlastní sadu ikon (obrázkových souborů typu .gif nebo .png), nezapomeňte na ikonu pro neznámý typ souboru (default.gif nebo default.png).
  2. sadu ikon uložte do libovolného adresáře v rámci webu (např. assets/img/fileIcons) – můžete definovat více sad ikon (např. ikony různých rozměrů), každou sadu uložte do samostatného adresáře.
  3. do konfiguračního souboru Addins.config vložte pro každou z definovaných sad tag FileIconSet.

Tag FileIconSet

Tento tag slouží pro definici vlastní sady souborových ikon. Umísťuje se do konfiguračního souboru Addins.config.

  • height povinný [int]

    Výška ikon v dané sadě. Hodnota je beze změny předána do atributu height vypisovaného HTML elementu <img />. JellyPot nekontroluje skutečné rozměry obrázků s ikonami.

  • isDefault nepovinný [true, false]

    Určuje, zda je daná sada sadou výchozí. Takto lze označit nejvýše jeden tag FileIconSet.

  • name povinný [string]

    Jméno sady ikon. Smí obsahovat pouze písmena bez diakritiky a číslice. Musí být pro každý uvedený tag FileIconSet jedinečné.

  • path povinný [cesta]

    Cesta z kořenového adresáře webu k adresáři, kde jsou umístěny obrázkové soubory ikon. Cesta musí začínat lomítkem.

  • width povinný [int]

    Šířka ikon v dané sadě. Hodnota je beze změny předána do atributu width vypisovaného HTML elementu <img />. JellyPot nekontroluje skutečné rozměry obrázků s ikonami.

Příklad

Příklad pro použití ikony ze základní sady najdete u controlu <je:fileIcon>. Zde si ukážeme, jak postupovat u vlastní sady. Budeme chtít sadu ve dvou velikostech 16×16px a 48×48px, velikost 16×16px budeme chtít považovat za sadu výchozí. Do /assets/img/myFileIcons/16 si dáme ty 16×16px, do /assets/img/myFileIcons/48 si dáme ty 48×48px. (Pozn.: složky se můžou jmenovat libovolně, můžou také být umístěné kdekoliv v adresářové struktuře webu.)

Protože JellyPot považuje různé velikosti za různé sady, v konfiguračním souboru Addins.config uvedeme dvě sady:

<JellyPotDef xmlns="urn:Bet:ns:JellyPotAddInsConfig">
    ...
    <FileIconSet name="myFileIcons16"
                 path="/assets/img/myFileIcons/16"
                 width="16"
                 height="16"
                 isDefault="true" />
    <FileIconSet name="myFileIcons48"
                 path="/assets/img/myFileIcons/48"
                 width="48"
                 height="48" />
    ...
</JellyPotDef>

V .aspx pak takto:

<je:fileLink runat="server"
             field="someVariable.someFileForDownload">
    <je:fileIcon runat="server"
                 field="someVariable.someFileForDownload"
                 set="myFileIcons48" />
    <je:item runat="server"
             field="someVariable.someFileForDownload.name" />
</je:filelink>

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.