[KÓDOVÁNÍ] Proměnné a podmínky v šabloně

Odpovědět
Uživatelský avatar
Otakar Pěnkava
Administrátor
Administrátor
Příspěvky: 581
Registrován: sob 25. říj 2008 16:17:14
Kontaktovat uživatele:

[KÓDOVÁNÍ] Proměnné a podmínky v šabloně

Příspěvek od Otakar Pěnkava » pát 09. bře 2018 11:26:34

Ahoj uživatelé,
ukážeme si trochu pokročilejší práci s šablonami, jejich proměnnými a podmínkami.

Proměnné:
Vypisujeme v šabloně pomocí složených závorek { } (vytvoříte držením pravého ALT a B, pravého ALT a N).

Příklad použití:

Kód: Vybrat vše

Moje uživatelské jméno je: {S_USERNAME}
Podmínka:
Zapisujeme je jako HTML komentáře (začínají <!-- a končí -->). phpBB si to při zpracování kontroluje a převádí na správný kód.
Jako každá správná podmínka, i ta Vaše musí mít IF (= začátek) a ENDIF (konec podmínky).

Podmínky slouží třeba k zobrazení informace jen v konkrétním případě, například jen konkrétnímu uživateli.

Příklad použití:

Kód: Vybrat vše

<!-- IF S_USERNAME == 'Otakar Pěnkava' -->
Tohle uvidí jen přihlášený uživatel se jménem Otakar Pěnkava
<!-- ENDIF -->
Tato podmínka má jednu nevýhodu a to tu, že používá jméno. Lepší řešení by bylo použít ID uživatele, protože to si nemůže změnit, ale phpBB nemá nadefinovanou v šablonách globální proměnnou, která obsahuje uživatelovo ID.

Tuto podmínku ale můžeme ještě obrátit:

Kód: Vybrat vše

<!-- IF S_USERNAME != 'Otakar Pěnkava' -->
Tohle uvidí všichni, kromě Otakara Pěnkavy
<!-- ENDIF -->
Co jsme to udělali? Místo ==, jsme dali !=, vykřičník podmínku neguje. Místo == můžeme použít i eq a místo != můžeme použít neq.

Vložené souboru:
V styles/vasstyl/template si vytvořte soubor mujsoubor.html a napište do něj "Ahoj".
Nyní si tento vzkaz můžete nahrát kamkoliv v ostatních částech stylu, kam jej budete chtít vložit, tak dáte jen:

Kód: Vybrat vše

<!-- INCLUDE mujsoubor.html -->
Cykly (vhodné pro seznamy)
Budete-li potřebovat vypsat seznam příspěvků, pak musíte použít:

Kód: Vybrat vše

<!-- BEGIN nazev_cyklu -->
{nazev_cyklu.ID}
<!-- BEGINELSE nazev_cyklu -->
Nenalezeno
<!-- END nazev_cyklu -->
Rozeberme si to:
<!-- BEGIN nazev_cyklu --> Označuje začátek cyklu
<!-- BEGINELSE nazev_cyklu --> Co vypsat, pokud je cyklus prázdný (nepovinné)
<!-- END nazev_cyklu --> Konec cyklu
Starám se o projekt phpBB.cz od doby, kdy jsem jej zachránil před zaniknutím. Pomůžete mi a dostaneme jej zase nahoru?
Přes soukromé zprávy neposkytuji podporu. Napište do fóra, kde vyřešení problému může pomoci ostatním.

Odpovědět