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%>