Smarty Template Engine 9.díl - Modifikátory III.

Napsal (») 2. 5. 2009 v kategorii PHP/HTML, přečteno: 1656×
obrazky/smarty.gif

Smarty Template Engine 9.díl Modifikátory III.


První várku modifikátorů jsme si ukázali v minulém díle. V devátém si uážeme zbylé a dále možnost jejich kombinování.



  • {$vari|indent:cislo:cislo} - zarovnání hodnoty proměnné o počet znaků doprava. Druhá položka o znaky doleva. U prvního je defaultní hodnota nastavena na 4, u druhého na 0.
    Namísto čísel je také možno použít znaku /t jako tabulátoru.


  • {$vari|lower} – nastavení textu na malá písmena


  • {$vari|nl2br} – reprezentuje stejně pojmenovanou fci v PHP. U zalomeného textu vsadí HTML tag
    br


  • {$vari|regex_replace:“ “,“ „} - reprezentuje stejnou fci v PHP preg_replace() . Pro uživatelé znalé regulárních výrazů představuje silný nástroj pro nahrazovaní textu. Do prvního parametru se zadáva hledaný výraz, do druhého pak náhrada. Bez znalosti regulárních výrazů je ovšem pro běžné uživatele nepoužitelné.


  • {$vari|replace:“ “,“ „} - platí stejné parametry jako u předchozího modifikátoru. Tentokrát ovšem prezentuje PHP fci str_replace() .


  • {$vari|spacify:“ “} - nahradí každé písmeno předané v proměnné atributem v nepovinném parametru. Ten je defaultně nastaven na mezeru.


  • {$vari|string_format:“ “} - zaokrouhlí hodnotu čísla, nebo ořeže text. Používá k tomu nastavení, vycházející z PHP fce „printf“. Defaultní hodnota vypíše text tak, jak bylo předáno do proměnné. Pro zaokrouhlení se musí zadat číslo s „f“, pro desetinná, „d“ pro celá.


  • {$vari|strip:“ “} - nahradí opakující se hodnoty v textu jednou. Nahrazovaná hodnota se zadá jako parametr, defaultně je nastavena na opakující se mezery.


  • {$vari|strip_tags:“true/false“} - odstraní tagy z textu, předaného jako hodnota proměnné. Pro hodnotu false nahradí tagy mezerou, pro true odstraní tag bez náhrady. Defaultní hodnota je nastavena na true.


  • {$vari|truncate:cislo:text za retezcem:rozdeleni slova:slovo pred}
    - ořízne text, předaný jako hodnota proměnné. Obsahuje 4 nepovinné parametry:
    - počet znaků, včetně parametru 2 (defaultně 80)
    - text za ořiznutým textem (defaultně „...“)
    - jak se má zachovat, pokud ořezává slovo. Při false ořízne po znak před textem, při true ořízne přesně na počet znaků. (defaultně false)
    - zda oříznout poslední slovo v řetězci (defaultně false)


  • {$vari|upper} – převede všechny znaky na kapitálky


  • {$vari|wordwrapcislo:znak na zalomeni:jak zalamovat} - řeší podobnou věc jako truncate, s rozdílem, že jde o zalamování řádků. Obsahuje 3 nepovinné parametry
    po kolika znacích zalomit (defaultně 80)
    pomocí které značky zalomit (defaultně /n)
    zda zalomit i ve slově (defaultně false)



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

      $text['text'] = "Tato veta bude mit 6 slov.";
      $text['nlbr'] = $text['text']."
      aaa";
      $text['tagy'] = "<b>tucne</b>";
      $cislo = date("3.14159267");
      $mezery = "ahojahojahoj";



      $smarty->assign('text' , $text);
      $smarty->assign('cislo' , $cislo);
      $smarty->assign('mezery' , $mezery);

      $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>
      Zarovnáme o deset znaků do prava: {$text.text|indent:10}<br/>
      Na malá písmena: {$text.text|lower}<br/>
      Text zalomení: {$text.nlbr|nl2br}<br/>
      Změna textu: {$text.text|str_replace:'Tato':'Zmenime'}<br/>
      Nahrazení prostoru mezi písmeny: {$text.text|spacify:'(:->)'}<br/>
      Zaokrouhlení čísla: {$cislo|string_format:'%0.2f'}<br/>
      Nahrazení mezer: {$mezery|strip:'ahoj'}<br/>
      Odstranění tagů: {$text.tagy} a bez tagu: {$text.tagy|strip_tags}<br/>
      Truncate: po slově: {$text.text|truncate:13:'...'} <br/>
      ve slově: {$text.text|truncate:15:'...':true}<br/>
      Upper: {$text.text|upper}<br/>
      Wordwrap: po slově: {$text.text|wordwrap:3:'<br/>'} <br/>
      <br/>
      <br/>
      <b>Kombinování tagů:</b>
      {$text.nlbr|nl2br|upper|truncate:20}
      </p>
      </div>
      </body>
      </html>


      Kombinování tagů se provádí jednoduše, nalepením dalšího svislovátka a modifikátoru.
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Č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 tři a jedenáct