Smarty Template Engine 8.díl - Modifikátory II.

Napsal (») 27. 4. 2009 v kategorii PHP/HTML, přečteno: 1234×
obrazky/smarty.gif

Smarty Template Engine 8.díl Modifikátory II.


A jaké, že tedy jsou modifikátory, jež Smarty nabízí svým kodérům?
Plné znění nápovědy k modifikátorům naleznete zde:
http://smarty.net/manual/en/language.modifiers.php

Nepovinné parametry jsou zadávány kurzívou.



  • {$vari|capitalize:true/false} – nastavení počátečních písmen každého slova na kapitálky. V případě zadání nepovinného paramatru na true nastaví capitálky také u slov s číslicí. Defaultní je tedy hodnota false.


  • {$vari|cat:' moje slovo '} - k předanému řetězci připíše text v apotostrofech (v tomto případě: moje slovo)


  • {$vari|count_characters:true/false} - spočítá počet znaků předaných v proměnné. Nepovinný parametr nastavuje, zda počítat i mezery. Defaultně je nastaven na false.


  • {$vari|paragraphs} – spočítá počet odstavců, předaných v proměnné.


  • {$vari|count_sentences} – spočítá počet vět, předaných v proměnné



  • {$vari|count_words} – spočítá počet slov, předaných v proměnné



  • {$vari|date_format} – podrobně jsme probrali v minulém díle. Slouží k nastavení výstupu data, pracuje s Unixovým razítkem. Defaultně je nastaveno na: %b %e, %Y .
    Druhý nepovinný parametr pak nastavuje datum, jež se má vypsat v případě, že proměnná je prázdna, nebo nebyla předána. Tedy např.:
    {$vari|date_format:'%R':'12:02'}. Závisí však pak na typu vypisovaného data v prvním parametru.



  • {$vari|default:'vypiseme} – nastavuje defaultní hodnotu, v případě, že je proměnná prázdná, nebo nebyla předána. Defaultně je nastavena jako prázdný řetězec.



  • {$vari|escape} – přepisuje danou proměnnou dle jisté šablony. Pomocí escape můžeme v textu např. Nahradit „@“ za [at], či [zav], editaci html entit apod. Má dva nepovinné parametry.

    Pomocí prvního nastavujeme typ změny. Povolené hodnoty jsou:
    html - nahrazení html za ascii ekvivalenty pro: & " ' < > *
    htmlall - nahrazení všech html znaků
    url - slouží k převedení znaků v odkazů na ascii ekvivalenty, jež je možno úspěšně předat pomocí metody GET). Modifikátor pro jejich dešifrování je |urlencode
    quotes – zpětná lomítka u uvozovek
    hex - převedení na entity
    hexentity – převedení na hex entity
    javascript – převede na text
    mail - nahrazen @ a . za anglické ekvivalenty v hranatých závorkách [at] a [dot]

    o tomto prvku podrobně zde:
    http://smarty.net/manual/en/language.modifier.escape.php



index.php
<?php
require_once("./hlavicka.php");

$text = "Tato veta bude mit 6 slov.";
$datum = date("Y-m-d H:i:s");
$nic = "";
$escape['html'] = "<b>nesmi byt tucne</b>";
$escape['htmlall'] = "<strong>nesmi byt tucne</strong>";
$escape['url'] = "http://banan.cz/id=ěě";
$escape['quotes'] = "'nic'";
$escape['email'] = "podpora@banan.cz";

$smarty->assign('text' , $text);
$smarty->assign('datum' , $datum);
$smarty->assign('datum_nic' , '');
$smarty->assign('nic' , $nic);
$smarty->assign('escape' , $escape);

$smarty->display('index.tpl');

?>



index.tpl
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-language" content="cs" />
<title>
Smarty - index
</title>
</head>
<body>
<div>
<p>
count word: {$text|count_words}<br/>
date_format: {$datum|date_format:'%Y. %m. %d. %R':'1.1.1996 00:00'}<br/>
date_format:default: {$datum_nic|date_format:'%Y. %m. %d. %R':'1.1.1996 00:00'}<br/>
default: {$nic|default:'prazdna'}<br/>
escape:url: <a href="{$escape.url|escape:url}">{$escape.url}</a><br/>
escape:quotes: {$escape.quotes|escape:quotes}<br/>
escape:email: {$escape.email|escape:mail}<br/>
escape:email: <a href="mailto:{$escape.email|escape:'hex'}">{$escape.email|escape:mail}</a><br/>
</p>
</div>
</body>
</html>
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel nula a osm