![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
operátor | PHP ekvivalent | alternativa | příklad | význam |
== | == | eq | $a eq $b | rovno |
!= | != | ne;neq | $a neq $b | různé |
> | > | gt | $a gt $b | větší než |
< | < | lt | $a lt $b | menší než |
>= | >= | ge; gte | $a ge $b | větší, nebo roven než |
<= | <= | le; lte | $a lte $b | menší, než |
! | ! | not | not $a | negace |
% | % | mod | $a mod $b | zbytek celočíselného dělení |
is [not] div by | !($a%$b) [($a%$b)] |
$a is not div by $b | test [ne]dělitelnosti dvou čísel | |
is [not] even | !($a%2) [($a%2)] |
$a is [not] even | Test sudosti [lichosti] čísla | |
is [not] even by | !(($a/$b)%2) [(($a/$b)%2] |
$a is [not] even by $b | Test je-li výsledek dělení sudý [lichý] | |
is [not] odd | ($a%2) [!($a%2)] |
$a is [not] odd | Test lichosti [sudosti] čísla | |
is [not] odd by | (($a/$b)%2) [!(($a%$b)] |
$b is [not] odd by $b | Test lichosti [sudosti] výsledku dělění |
Zápis !($a/$b) má stejný význam jako ($a/$b)==0, zápis ($a/$b) je ekvivalentní zápisu ($a/$b)!=0.
Podmínka if se skládá z několika větví. prvním příkazem je {if podminka}
, může následovat {elseif podminka}
, nebo {else}
dle potřeby existence více větví, konečný příkaz, kterým se uzavírá poslední větev je {/if}
. Podmínky se píší bez závorek, při použití alternativního způsobu zápisu podmínek je nutné mezi podmínkami a proměnnými dělat mezery. výrazy v podmínkách lze spojovat pomocí logických spojek &&, and, || a or.
Složitější, vícenásobné větvení je ve Smarty realizovatelné pouze pomocí sekvencí {if} ... <{elseif} ... >{else}
, konstrukce switch ve Smarty neexistuje, ale dá se použít, protože použitím příkazů {php} a {/php}, pro ukončení bloku PHP, příkazů lze vložit PHP příkazy, ale je to velmi nečisté řešení.
Oblíbený cyklus z PHP, který se používá pro zpracování pole hodnot. Obecně je práce s Polom ve Smarty velice častá, protože výstupy z databáze jsou většinou uloženy do pole. Příkazy a tagy, které se zpracovávají v cyklu foreach jsou uzavřeny mezi pár příkazů {foreach parametry} ... {foreachelse} ... {/foreach}
, pokud vstupní pole neobsahuje žádné hodnoty, je zpracován blok mezi {foreachelse} a {/foreach}.
Parametry cyklu jsou následující:
Použití všech parametrů není nutné, povinými jsou v podstatě jen from a item. Pouze parametr from se nastavuje přímo jako asociované pole, další parametry definují pouze názvy, tj. zapisují se bez znaku $ (string) s výjimkou, která je známa z použití v PHP, kdy v proměnné je uveden název proměné. Parametry from, key a item (respektive vstupní pole přiřazené do from a proměnné jejichž názvy jsou přiřazeny key a name) jsou ekvivalentní použití v PHP cyklu foreach($from as $key=>$item)
.
Data, z pole procházeného v cyklu, jsou v proměnné $itemname.policko
, například $ceny.natural95 zobrazí cenu benzínu Natural 95 z pole benzínových čerpadel. Výstupní data mohou obsahovat další pole (v případě dvou a vícerozměrných polí na vstupu), které potom můžeme zpracovat dalším cyklem.
Další dostupné vlastnosti cyklu foreach jsou dostupné přes proměnnou $smarty.foreach.jmeno.vlastnost, kde jméno je uvedené v nastavitelném parametru name a vlastnosti jsou vyjmenovány níže:
Cyklus {section parametry} ... {/section}
lze použít stejným způsobem, jako foreach, ale má mnohem větší možnosti nastavení, kromě jiného umožnuje nastavení počáteční hodnoty a kroku cyklu. Požadované parametry cyklu jsou loop a name. Podobně jako foreach je použitelná i větev {sectionelse}, která se vykonává v případě, že pole, které je určeno direktivou loop.
Přístup k hodnotám procházeného asociativního pole se realizuje zápisem pole se realizuje pomocí $loop[name].policko
, názorněji je tento přístup ukázán v příkladu. K položkám neasociativního pole se přistupouje pomocí syntaxe $policko[name]
, například $price[pumpa].
Parametry cyklu jsou:
Vlastnosti cyklu, jsou dostupné přes proměnnou $smarty.section.jmeno.vlastnost, kde je jméno nastaveno parametrem name a seznam vlastností je uveden níže:
Tento příkaz již svou strukturou nepatří mezi řídící struktury, ale pomocí něj se dají obejít některá omezení, která s sebou použití Smarty šablon přináší, mezi něž patří například neexistence příkazu ekvivalentního příkazu switch
. Zpracování a zobrazení dat v šabloně je nevhodné, protože je tím narušeno oddělení zpracování dat a prezentace.
Syntaxe je podobná klasickému HTML+PHP souboru, zápis je {php} ... {/php}
, jedná se tedy opět o párový příkaz.
Příklady jsou pro tento díl ve stažitelné příloze. Přístup k databázi je konfigurovatelný v souboru './_superconfig/config.php'. Příloha ke stažení je zde
V tomto díle byly probrány základní řídící struktury pro použití ve Smarty šablonách. V příštím budou další funkce použitelné při Tvorbě stránek, includování dalších šablon (části opakující se ve všech stránkách), cyklus nevázaný na vstupní pole a další.
|
||
KOMENTARZE
Nie ma komentarzy dla tej pozycji. |
||
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
1. |
Pacman linux Download: 5093x |
2. |
FreeBSD Download: 9307x |
3. |
PCLinuxOS-2010 Download: 8795x |
4. |
alcolix Download: 11188x |
5. |
Onebase Linux Download: 9908x |
6. |
Novell Linux Desktop Download: 0x |
7. |
KateOS Download: 6458x |
1. |
xinetd Download: 2619x |
2. |
RDGS Download: 937x |
3. |
spkg Download: 5243x |
4. |
LinPacker Download: 10385x |
5. |
VFU File Manager Download: 3394x |
6. |
LeftHand Mała Księgowość Download: 7482x |
7. |
MISU pyFotoResize Download: 3086x |
8. |
Lefthand CRM Download: 3755x |
9. |
MetadataExtractor Download: 0x |
10. |
RCP100 Download: 3371x |
11. |
Predaj softveru Download: 0x |
12. |
MSH Free Autoresponder Download: 0x |