<je:count>

Control slouží k výpisu textu do stránky v závislosti na počtu prvků dané kolekce. Control je určen pro správnou tvorbu množného čísla v češtině, nikoliv pro změnu layoutu stránky – k tomu se sice dá použít také, mnohem lepší je ale podobné věci řešit pomocí CSS.

<je:count runat="server" collection="someCollection">
    <count1>Jedna položka</count1>
    <count2>Dvě nebo tři nebo čtyři položky</count2>
    <count5>Pět a více položek</count5>
</je:count>

Atributy

  • collection povinný [jméno kolekce]

    Určuje kolekci, jejíž počet položek rozhoduje o volbě šablony.

  • container nepovinný [ID containeru]

    V případě potřeby lze určit ID containeru, který určuje kontejnerovou proměnnou tohoto controlu (více viz Kontejnerování).

Templates

  • count0, count1, ..., count5 – šablony odpovídající jednotlivým počtům prvků kolekce. Šablony není potřeba v controlu definovat všechny. Šablona, která se použije, je vybrána takto (konkrétní příklad je níže):
Počet položek v kolekciKterá šablona se použije
0count0
1count1
2count2 (→ count5 → count1)
3count3 (→ count2 → count5 → count1)
4count4 (→ count2 → count5 → count1)
5 a vícecount5 (→ count2 → count1)

Pro každý počet se vždy použije první definovaná šablona. Pokud žádná šablona nevyhovuje, control nic nevypíše. Např. pokud kolekce obsahuje dvě položky, JellyPot nejprve zkusí použít šablonu <count2>. Není-li definována, zkusí <count5>. Pokud není definována ani ta, zkusí <count1> a konečně když nenajde ani tu, nevypíše nic.

Třebaže výběr šablony vypadá trošku zmateně, je potřeba mít na mysli, že control slouží hlavně ke správnému výpisu množného čísla v češtině. Proto jsou volby šablon v tomto pořadí.

V případě jazykově závislé kolekce je počet položek kolekce určen počtem položek v aktuálním jazyce.

Příklad

Typické řešení množného čísla v češtině vypadá nějak takto:

<je:count runat="server" collection="someCollection">
    <count1>V kolekci je jedna položka</count1>
    <count2>V kolekci jsou dvě nebo tři nebo čtyři položky</count2>
    <count5>V kolekci je pět nebo více položek</count5>
</je:count>

Další poměrně časté situace:

Chceme odlišitPoužijeme šablony
žádná, jedna nebo vícecount0, count1
jedna, dvě a vícecount1, count2

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.