Smarty sablonkezelő rendszer – II.


Miért is jó nekünk egy ilyen?

- függetlenné teheti a php kódot a megjelenítéstől márpedig ez jó dolog (Good Thing T) (ez pedig általában egyébként is külön feladat külön embert jelent, képesek leszünk többrétegű alkalmazások készítésére (lásd Invison Power Board és társai), megértjük ezek működését,)
– tisztább és logikusabb programot tudunk írni
– biztonságosabb kód (a grafikus kolléga nem fér hozzá az általunk készített remekműhöz)
– képesek leszünk felületcserés alkalmazás fejlesztésére (szabványos módszerekkel)

De mire is képesek az ilyen sablonrendszerek:

  • alapvető változó behelyetítésre, egyszerű tagek
  • dinamikus blokk funkciók (alapvető ciklusok)
  • minden oldal letöltésekor megtörténik a sablon értelemezése
  • sebesség növelése (kész feltöltött sablon tárolása)

Mi a Smarty-val fogunk ügykezelni mivel:

  • php nyelven írodott (nem kell új ismeret a kezdéshez :))
  • nincs felesleges sablon értelmezés ( 1-szer fordít)
  • saját funckiókat, módosítókat tudunk alkalmazni
  • szekciók alkalmazása (és egymásba ágyazhatósága if,foreach,section)
  • a tag elválastók definiálhatók ( {} stb.)
  • cache rendszerrel is el van látva,de tudunk írni saját cache funkciókat
  • a sablon forrás többféle lehet (fájl ,adatbázis)
  • plugin rendszere is van
  • utoljára de nem utolsosorban egyszerű

Mi kell a kezdéshez?

csináljunk egy könytárat a htdocs-ban, ebben fogunk ügyködni, csináljunk benne két könyvtárat : templates ill. templates_c -t, majd másoljuk bele a Smarty-2.6.6.tar.gz-ből a libs/*.* -ot. Tehát most így néz ki

akkor tehát ezek most így néz ki a struktúra:

1
2
3
4
5
6
-smarty/
--------/libs/ (itt van a smarty)
--------/cache (itt tárolja majd az összeállított kész sablonokat)
--------/configs (ez önmagért beszél)
--------/templates (itt vannak a sablonok)
-------/templates_c (ide generálja a kimenő kódot a smarty)

ha nem free szerveren lennénk így alakulna az elrendezés:

1
2
3
4
5
6
/usr/local/lib/php/Smarty/Smarty.class.php
/usr/local/lib/php/Smarty/Smarty_Compiler.class.php
/usr/local/lib/php/Smarty/Config_File.class.php
/usr/local/lib/php/Smarty/debug.tpl
/usr/local/lib/php/Smarty/core/*.php
/usr/local/lib/php/Smarty/plugins/*.php
1
2
3
4
5
/web/www.mydomain.com/smarty/webapplication/templates/
/web/www.mydomain.com/smarty/webapplication/templates_c/
/web/www.mydomain.com/smarty/webapplication/configs/
/web/www.mydomain.com/smarty/webapplication/cache/
/web/www.mydomain.com/docs/webapplication/index.php

Első programunk: Hello világ!

Irjuk meg a sablon fájlt

1
{$title}

mentsük el temp1.tpl néven a templates könyvtárba majd, majd írjuk meg első sablon motorunkat, ezt pedig helyezzük el az alapkönyvtárba (mostantól :zsola2) pl. temp1.php néven

1
2
3
4
5
6
<?php
require('./libs/Smarty.class.php');
$smarty=new smarty;
$smarty->assign('title','Hello világ!');
$smarty->display('temp1.tpl');
?>

a működése: becsatoljuk a smarty-t, majd létrehozzuk az objektumunkat, a következő lépésben hozzárendeljük a title-t a sablonban megadott {$title} változóhoz, a végén pedig megjelenítjük az egészet.
Meg is nézhetjük, nálam http://localhost/zsola2/temp1.php, ha ügyesek voltunk kimenetként láthatjuk művünket a Smarty belerakta a Hello világ! -ot a sablonba, és megjelenítette.

példa: http://ixedik.uw.hu/smarty/temp1.php
forrás: http://ixedik.uw.hu/smarty/pelda1.rarSzerző: toxin

Kapcsolódó bejegyzések:
  • Következő példánk már onnan érkezik, ha kíváncsiak vagyunk mit is alkot smarty barátunk, egészítsük kódunkat a következőképpen:ekkor pop-up ként …

  • Most, hogy elérkeztünk a 4. fejezethez (és leraktuk az alapokat), ideje praktikus dolgokat is csinálnunk végre. Első lépésben megoldjuk oldalunk központosított f …

  • Az elkövetkezendő cikksorozat a Smarty sablonkezelő rendszer világába nyújt betekintést. …

  • A lapon működő “WP-Syntax (geshi)” plugin által támogatott nyelvek listája, hogy ne kelljen google-ban keresgélni ha szükség van rá.Ha itt a blogon szeretnél …

  • A Jasmin Media Group Kft., internetes szolgáltatásokkal foglalkozó cég csapatába keres munkatársat (teljes munkaidőbe) sitebuilder és webdesigner munkakörökbe. A …

A cikket beküldte: Harder (http://blog.harder.hu)

Szólj hozzá
a Smarty sablonkezelő rendszer – II. c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>