Smarty Template Engine 25.díl - Funkce X.
Uživatelské funkce
{html_select_date}
Na první pohled jednoduchá funkce, který však skýtá velkou škálu možností a nastavení. Jejím posláním je vypsání selectů pro volbu data. Tedy rolovátko pro den, či měsíc, nebo rok.
- prefix - šablona zobrazovaného data, vychází ze Smarty nastavení http://www.smarty.net/manual/en/language.modifier.date.format.php , defaultně: Date_ - (nepovinný)
- time – otisk nastavení času v unixových systémech (nepovinný)
- start_year – výchozí rok ve výpisu, defaultně: aktuální rok (nepovinný)
- end_year – poslední rok ve výpisu, defaultně se tedy zobrazí pouze rok aktuální, defaultně: stejný jako výchozí rok (nepovinný)
- display_days – zda zobraovat dny, true/falsedefaultně: true (nepovinný)
- display_moths – zda zobrazovat měsíce, defaultně: true (nepovinný)
- display_years - zda zobrazovat roky, defaultně: true (nepovinný)
- month_format – formát výpisu měsíce dle date_format, defaultně: %B (nepovinný)
- day_format - formát výpisu dne dle date_format, defaultně: %02d (nepovinný)
- day_value_format - hodnota parametru value u dne, defaultně: %d(nepovinný)
- year_as_text - zda zobrazit rok jako text, defaultně: false (nepovinný)
- reverse_years - zda zobrazit výpis roku sestupně, defaultně: false (nepovinný)
- field_array - v případě vložení jiné než defaultní hodnoty, se budou value hodnoty selectů předávat jako hodnoty pole, kde hodnota tohoto parametru nastaví „name“, ve formátu name[Day], name[Month], name[Year], defaultně: null (nepovinný)
- day_size – typ vzhledu selectu, tedy přidání parametru size pro den, (samozřejmě musí být výpis dnu povolen a parametru musí odpovídat počet položek selectu), defaultně: null (nepovinný)
- month_size - typ vzhledu selectu, tedy přidání parametru size pro měsíc, (samozřejmě musí být výpis dnu povolen a parametru musí odpovídat počet položek selectu), defaultně: null (nepovinný)
- year_size - typ vzhledu selectu, tedy přidání parametru size pro rok, (samozřejmě musí být výpis dnu povolen a parametru musí odpovídat počet položek selectu),defaultně: null (nepovinný)
- all_extra - do všech povolených rolovátek přidá parametr extra, nebo-li náš vlastní. Nejčastějí atribut class, či style, defaultně: null (nepovinný)
- day_extra – přidání parametru extra (našeho vlastního) pro výpis dne, je-li povolen, defaultně: (nepovinný)
- month_extra - přidání parametru extra (našeho vlastního) pro výpis měsíce, je-li povolen, defaultně: (nepovinný)
- year_extra – přidání parametru extra pro výpis roku, je-li povolen, defaultně: (nepovinný)
- field_order - pořadí vypisovaných selectů. Den reprezentuje D, měsíce M a roky Y, defaultně: MDY (nepovinný)
- field_separator - volitelný text mezi selecty, defaultně: /n (nepovinný)
- month_value_format - formát parametru value u měsíce, v rámcí sprintf, či date_format, defaultně: %m (nepovinný)
- year_empty - používá se v případě, pokud chceme mít jako defaultní prvek rolovátka náš vlastní text, např: Vyberte roky z nabídky. Pokud uživatel vybere právě tuto možnost, je odeslána jako prázdná, defaultně: null (nepovinný)
- month_empty – stejné použítí jako u year_empty, ale pro měsíce, defaultně: null (nepovinný)
- day_empty – stejné použítí jako u dvou předchozích, ale pro dny, defaultně: null (nepovinný)
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
Ukázka práce s datem:
{html_select_date}
</p>
{include file='./paticka.tpl'}
Defaultní vložení této funkce Vám vytvoří rolovátka v pořadí: měsíc, den, rok. Defaultně bude zvolené aktuální datum (dle nastavení serveru). Jako rok budete mít možnost zvolit pouze rok aktuální. Dny jsou pak předávany parametrem "value" jako číslo ve formátu 1-31, měsíce pak 01-12.
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
Ukázka práce s datem:
{html_select_date end_year=1950 reverse_years=true all_extra='style=color:#f00;font-family:Arial;' }
</p>
{include file='./paticka.tpl'}
V tomto příkladě jsme provedli následující změny:
- Výpis roku jsme natáhli až do roku 1950
- Nechali jsme roky vypsat sestupně (defaultně je to vzestupně)
- pro všechny selecty jsme nastavili extra parametr : style, pomocí něhož nastavíme barvu a font rolovátek
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
Ukázka práce s datem:
{html_select_date end_year=1950 field_order=DMY month_size=5 field_separator='-' month_format='mesic: %m'}
</p>
{include file='./paticka.tpl'}
V posledním příkladu pro tuto funkci:
- Opět nastavíme výpis roků až od roku 1950
- Přenastavíme pořadí selectů z:měsíce,dne, roku, na den, měsíc rok
- Pro měsíc nastavíme parametr size na 5, stejně jako bychom to udělali i v HTML
mezi selecty bude vložena pomlčka
- Formát měsíce nastavíme na: měsíc číslo měsíce
Rád bych ještě upozornil, že v případě použití neplatné časové známky, tedy např. měsíce pro den, či jakkoliv jinak, zareaguje Smarty vypsáním prázdných polí. Proto si na tuto možnost dejte pozor.