![]() ![]() |
2004. Oct 25., 15:46
Post
#1
|
|||
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
zsola2,TLof inspirált köszi nekik mivel én is rég néztem át, indítok egy topikot róla, majd haladunk a bonyolultabb dolgok felé Próbáljuk összeszedni: 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 ) 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 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 eccerű Mi kell a kezdéshez? A szokásos Szentháromság, meg a Smarty rendszer: http://smarty.php.net/do_download.php?down...ty-2.6.6.tar.gz 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 : (nekem zsola2 az alapkönyvtár htdocs/ . . . zsola2/libs/ (itt van a smarty motor amit idemásoltunk) -------/templates -------/templates_c . . Első programunk: Hello világ! Irjuk meg a sablon fájlt
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 [php] <?php require('./libs/Smarty.class.php'); $smarty=new smarty; $smarty->assign('title','Hello világ!'); $smarty->display('temp1.tpl'); ?> [/php] 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. Mára ennyi folyt köv. (ha lenne kérdés hajrá, majd felrakom valami free szerverre a példákat) ui: Harder lektoráld lécci This post has been edited by toxin: 2004. Oct 25., 15:53 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
||
|
|
|||
2004. Oct 25., 16:26
Post
#2
|
|
|
Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 8049 Joined: 03. March 16. From: Hungary Member No.: 2 |
Ez nagyon jó ötlet meg téma, engem már régebben is érdekelt ez a smarty.
Mi lenne kimenne ebben a formában a lapra, mint tutorial? -------------------- |
|
|
|
2004. Oct 25., 17:11
Post
#3
|
|
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
felőlem
-------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
|
|
|
2004. Oct 25., 17:30
Post
#4
|
|||
![]() Frontend developer ![]() ![]() ![]() ![]() ![]() Group: moderator Posts: 5236 Joined: 04. August 2. From: Budapest Member No.: 413 |
Szerintem már ezt is ki lehet rakni, mert ha egyet rak ki, de az bazi hosszú lesz, akkor azt senki se olvassa végig. -------------------- LeGaS | Moderátor
Webfejlesztő blogom |
||
|
|
|||
2004. Oct 25., 17:40
Post
#5
|
|
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
jó de akkor legyen az alapkönyvtár smarty (hadjuk 'szegény' zsola2-őt
felraktam a példát: (a könytárszerkezet a régi, templates ide mennek a sablon html fájlok tpl kiterjesztéssel, templates_c ez a smarty-nak kell, libs itt vannak a smarty-s objektumok) és a smarty-ba mennek a php-k 1. példa "Helló világ!" http://ixedik.uw.hu/smarty/temp1.php forrás: http://iXedik.uw.hu/smarty/pelda1.rar This post has been edited by toxin: 2004. Oct 25., 17:46 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
|
|
|
2004. Oct 25., 17:45
Post
#6
|
|
|
Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 8049 Joined: 03. March 16. From: Hungary Member No.: 2 |
rendben.
-------------------- |
|
|
|
2004. Oct 25., 18:30
Post
#7
|
|
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
akkor még fontosnak érzem a kezdéshez:
-PHP 4.0.6 a minimális php verziószám -hozzunk létre egy cache, és egy configs könyvtárat, és adjuk meg a 775-ös jogot ennek és a templates_c könyvtárnak akkor tehát ezek most így néz ki a struktúra: -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: /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 /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 This post has been edited by toxin: 2004. Oct 25., 18:49 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
|
|
|
2004. Oct 25., 19:16
Post
#8
|
|||||||||||
![]() Commander 1337 ![]() ![]() ![]() ![]() ![]() Group: törzstag Posts: 5506 Joined: 03. May 25. From: Szeged Member No.: 38 |
Toxin, már bocs, de nem egyszerűbb ez:
kész. Nyelvi file megoldva. Vagy ha nem sablonokat akarunk használni, hanem egy változóban tárolt teljes oldal(részletet), akkor:
A cuccok használata: - Mindkettő megköveteli, hogy a fordításokat a $lang nevű lehetőleg egydimenziós tömbben tároljuk. Ha egy teljes előre lementett template-t akarunk fordíttatni:
Ha egy már egy változóban elmentett cuccot akarunk fordítani:
Ennyi az egész, és nem kellett hozzá objektum-osztályokat bevezetni Ja, és persze a behelyettesítendő cuccokat ilyen formában írjuk be: {szoveg_neve_a_tombben} Ez case-insesitive, tehát a {tItLe} ugyanaz, mint a {title} v. {TITLE}. pl.: A tömbben van egy ilyenünk: $lang['title'] = "BlackY weblapja"; Akkor egy ilyesmit kéne csinálnunk:
BlackY This post has been edited by BlackY: 2004. Oct 25., 19:21 -------------------- BlackY
Blog Új téma vagy tutorial Szerkesztő | Törzstag -- Hogyan kérdezzünk? Üvöltsük meg együtt a holdat: Wuff :D |
||||||||||
|
|
|||||||||||
2004. Oct 25., 19:17
Post
#9
|
|
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
de kis buta vagyok
következő példánk már onnan érkezik, ha kiváncsiak vagyunk mit is alkot smarty barátunk, egészítsük kódunkat a következőképpen [php] <?php require('./libs/Smarty.class.php'); $smarty=new smarty; $smarty->debugging = true; $smarty->assign('title','Példa2 vagyok'); $smarty->display('temp1.tpl'); ?> [/php] ekkor pop-up ként láthatjuk a Smarty Debug Console-t, ezen legfelül a temp1.tpl sablont, és feldolgozási idejét, majd a végrehajtott szkript nevét(/i/x/ixedik/smarty/temp2.php), a behelyetesített sablon változót (Példa2 vagyok), valamint a konfig fájlokat (ezek még nincsenek) 2. példa http://free.srv.hu/i/x/ixedik/smarty/temp2.php This post has been edited by toxin: 2004. Oct 25., 19:28 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
|
|
|
2004. Oct 25., 19:25
Post
#10
|
|||
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
BlackY ismered a Smarty-t, ha nem akkor várd ki a végét... This post has been edited by toxin: 2004. Oct 25., 19:32 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
||
|
|
|||
2004. Oct 25., 19:31
Post
#11
|
|
![]() Commander 1337 ![]() ![]() ![]() ![]() ![]() Group: törzstag Posts: 5506 Joined: 03. May 25. From: Szeged Member No.: 38 |
De az én szkriptem üzembehelyezés - hatékonyság arány még mindig jobb
Nem kell neki egy rakás file meg könyvtár, csak egy sima copy->paste. BlackY -------------------- BlackY
Blog Új téma vagy tutorial Szerkesztő | Törzstag -- Hogyan kérdezzünk? Üvöltsük meg együtt a holdat: Wuff :D |
|
|
|
2004. Oct 25., 19:49
Post
#12
|
|||
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
na akkor figyu, tud a tied ilyet (saját makro nyelv?), pedig ez már a holnapi anyag lett volna a sablonunk így változott
a sablon motorunk meg így [php] <?php require('./libs/Smarty.class.php'); $smarty=new smarty; $smarty->debugging = true; $smarty->assign('title','Példa3 vagyok'); $smarty->assign('user',array("name"=>"valaki","lakcim"=>"valahol","email"=>"valami")); $smarty->display('temp2.tpl'); ?> [/php] látható hogy a sablonban a php motortól függetlenül formáztuk a szöveget (egy kis programozás úgyse árt a grafikus kollégáknak Példa 3: http://free.srv.hu/i/x/ixedik/smarty/temp3.php This post has been edited by toxin: 2004. Oct 25., 19:52 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
||
|
|
|||
2004. Oct 25., 21:13
Post
#13
|
|||
![]() ,.., ![]() ![]() ![]() ![]() Group: törzstag Posts: 3130 Joined: 04. August 17. Member No.: 437 |
na ezt az utolsót még berakom, lássunk valami hasznosabb gyakorlati példát is, aztán visszatérünk az alapokhoz Harder esetünkben egy átlagos grafikus megkérdezzük tőle if/elseif/else szerkezetet kell magyarázni?
[php] <?php require('./libs/Smarty.class.php'); $smarty=new smarty; $smarty->debugging = true; $smarty->assign('title','Példa 4'); $smarty->assign('name','valaki'); $smarty->display('temp4.tpl'); ?> [/php] felmerül a kérdés akkor most ki a programozó Akkor mi lesz most a kimenet, kitaláljátok? ( http://free.srv.hu/i/x/ixedik/smarty/temp4.php This post has been edited by toxin: 2004. Oct 25., 21:21 -------------------- Bugs, bugs, bugs. If I had them all in jugs,
I'd dig, dig, dig, till a big, big hole was dug, dug, dug, dug, And that would be the end of the bug song. I'm gonna dig, dig, dig, dig, dig, dig, dig, dig, dig ..... The Bug Song - Charles Thomas "Stompin' Tom" Connors |
||
|
|
|||
2004. Oct 25., 21:42
Post
#14
|
|
![]() aki zsola, csak 2... ![]() ![]() ![]() ![]() Group: moderator Posts: 3800 Joined: 04. April 28. Member No.: 305 |
Ennek igazán örülök, hoyg ilyen "múzsa" vagyok, ám egyenlőre még a felét sem értem a dolognak...
De nem baj, úgy érzem, ez nem is az én világom... -------------------- - egy blog a rengetegben -
A fórum etikettjét mindenképp olvasd el! --> Fórum looser's guide Webszerkesztéssel kapcsolatos kérdésekre PM-ben _nem_ vagyok hajlandó válaszolni... A fórum azért van, hogy ezt ott beszéljük meg! "Ne feledd, ha valaki felbosszant, az arcodon 42 izom rándul össze. De csupán négy izom kell ahhoz, hogy kinyújtsd a kezed, és pofán vágd vele az ilyen seggfejeket." |
|
|
|
2004. Oct 25., 21:42
Post
#15
|
|
|
Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 8049 Joined: 03. March 16. From: Hungary Member No.: 2 |
Én már teljesen elvesztettem a fonalat...
Szóval ennél nekem (bár nekem nagyon nincs hozzá érzékem) biztos részletesebben kellene magyarázni (hisz még az alapfogalmakat sem értem), egyelőre csak olvasgatom és figyelek, aztán meglátom mi sül ki belőle a végén. -------------------- |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 2012. May 23. - 11:19 |