# Nápověda Pub-Me CMS

## Podmínkové příkazy

Kromě klasických funkcí, které vykonají přímou akci podporuje Pub-Me CMS také podmínky. K tomu využívá příkazů if, else a endif. If definuje podmínku, else se provede v případě nesplnění podmínky a endif celou podmínku uzavírá. Narozdíl od ostatních funkcí musí stát podmínkové příkazy if, else a endif samostatně bez mezer v „závorkách“ `<%...%>`, tzn. `<%if(podminka)%>` ... `<%else%>` ... `<%endif%>`. Chcete-li použít více vložených podmínek je to možné, použijete-li následující konstrukci:

    <%if("podminka1")%>
      1. podmínka splněna
      <%if("podminka2")%>
        2. podmínka splněna (else není definováno)
      <%endif%>
    <%else%>
      1. podmínka nesplěna
      <%if("podminka3")%>
        3. podmínka splněna
      <%else%>
        3. podmínka nesplněna
      <%endif%>
    <%endif%>

Podmínka s argumenty „typu boolean“ má formát `<%if("podminka")%>`, podmínka s argumenty, které porovnávají argument s hodnotou zadanou uživatelem mají formát `<%if("podminka=hodnota")%>`. Viz příklady.

    <%if("comments")%>Podmínka splněna<%endif%> // Kladná podmínka (komentáře povoleny)
    <%if("!comments")%>Podmínka splněna<%endif%> // Záporná podmínka (komentáře nejsou povoleny)
    <%if("lang=cs")%>Podminka splněna<%endif%> // Kladná podmínka (aktuální jazyk je čeština)
    <%if("!lang=cs")%>Podminka splněna<%endif%> // Záporná podmínka (aktuální jazyk není čeština)

Pozn.: Argumenty lze zadávat i bez uvozovek - tedy např. `<%if(comments)%>` Povšimněte si, že hodnota porovnávaná se argumentem není sama uzavřena v uvozovkách. Na rozdíl od programovacích jazyků založených na syntaxi C (JS, PHP...) se pro porovnávání nepoužívá zdvojené rovná se (==), ale pouze jednoduché rovná se (=). Zápornou podmínku vytvoříme přidáním vykřičníku ! na začátek argumentu (nefunguje operátor !=).

### Argumenty podmínkových příkazů

Pokud je napsán pouze argument (např. comments), znamená to, že se jedná o argument typu boolean (může být true nebo false) a nezadává se s žádnou hodnotou. Zápis argument=hodnota znamená, že podmínka je true v případě, že hodnota argumentu se rovná zadané hodnotě.

Jednotlivé argumenty jsou pro přehlednost popsány v tabulce na zvláštní stránce.

### Vícenásobné podmínky (AND a OR)

V argumentech podmínky je možné používat i vícero podmínek. Ty je možné kombinovat pomocí logických operátorů AND, OR a závorek.

Příklad:

    <%if(podminka1 and (podminka2 or podminka3))%>
        Je splněna podmínka 1 a k tomu buďto podmínka 2 nebo 3.
    <%endif%>

- CMS kód
  - Základní syntaxe
  - Podmínkové příkazy
    - Argumenty
  - Funkce

### Související témata

- CMS kód
- Argumenty podmínkových příkazů

### Odkazy

- Domovské stránky Pub-Me CMS