<ImgCollection>

Pole typu <ImgCollection> je kolekcí polí typu <Img>. Pole typu <ImgCollection> umožňuje v administraci nahrát více obrázků najednou. Pořadí jednotlivých obrázků v kolekci lze v administraci měnit pomocí drag-and-drop. V .aspx se pole typu <ImgCollection> vypíše pomocí <je:img> vloženého do <je:repeater>. Ve všem ostatním se shoduje s polem typu <Img>, kde je uveden podrobnější popis.

<ImgCollection name="photo">
    <Size name="original" />
    <Size name="fullHD" />
    <Size name="thumb" />
</ImgCollection>

Příklady

Mějme v Site.config proměnnou page následujícího typu:

...
<Vars>
    <Var name="pageWithGallery"
         type="PageWithGallery" />
</Vars>

<Types>
    <Type name="PageWithGallery">
        <ImgCollection name="gallery">
            <Size name="original" />
            <Size name="fullHD"
                  width="1920"
                  height="1080" />
            <Size name="thumb"
                  width="320"
                  height="200" />
        </ImgCollection>
    </Type>
</Types>
...

Kolekce gallery obsahuje prvky typu <Img> a pracuje se s ní podobně jako s jakoukoliv jinou kolekcí. Prvky kolekce jsou přístupné pod proměnnou .item. Výpis galerie formou náhledů s odkazem na velikost fullHD by tedy vypadal takto:

<je:repeater runat="server"
             source="pageWithGallery.gallery">
    <item>
        <je:imgLink runat="server" field=".item" size="fullHD">
            <je:img runat="server" field=".item" size="thumb" />
        </je:imgLink>
    </item>
</je:repeater>

Řešení klasickou kolekcí

Podobného výsledku bychom mohli dosáhnout i deklarací obyčejné kolekce obsahující prvky vlastního typu GalleryItem:

<Type name="PageWithGallery">
    <Collection name="img"
                itemType="GalleryItem"
                itemFormatType="img"
                itemFormat="{img}"
                allowBulkAdd="true"
                defaultOrder="custom" />
</Type>
<Type name="ImgItem">
    <Img name="item">
        <Size name="original" />
        <Size name="fullHD"
              width="1920"
              height="1080" />
        <Size name="thumb"
              width="320"
              height="200" />
    </Img>
</Type>

Atributy itemFormatType, itemFormatallowBulkAdd zařídí, že se kolekce zobrazí jako galerie náhledů, včetně možnosti nahrání více obrázků najednou. Více viz Collection. Atribut defaultOrder="custom" pak umožňuje řazení obrázků v administraci pomocí drag-and-drop.

Výhodou tohoto přístupu je, že typ ImgItem lze kdykoliv rozšířit o libovolná pole, např. textový popis obrázku.

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.