[ Zmaj @ 02.10.2006. 21:22 ] @
Nemam nikakvo pitanje, samo konstataciju da sam odusevljen smartyiem, njegovim mogucnostima, nije tezak za ucenje (za one koji se razmisljaju da li da pocnu), kolega radi dizajn, ja programiran, divota.
[ Davor Grubelić @ 01.11.2006. 00:08 ] @
ne mogu baš puno komentirati smarty jer sam tek danas počeo malo učiti sve njegove mogućnosti. ali iz ovoga do sada mogu reći da je odličan.
svakako ga namjeravam jako dobro naučiti.
preporučam!!!
(sam sebi svučim kao da radim na tv-u...... bolesno....)
[ ColdKeyboard @ 02.01.2007. 15:08 ] @
Evo i ja sam jutros oko 2h skinuo zanju verziju Smarty-a i poceo da prepravljam svoj sajt koji sam odradio
u Php-u sa klasama i ostalim zezancijama da radi sa smartyem...

S' vremena na vreme nailazim na poteskoce zbog razlike u stilu programiranja ali ipak ide nekako...

:)
[ flylord @ 02.01.2007. 15:17 ] @
ja ga evo uspesno koristim vec 3-4 godine
[ GMC @ 10.03.2007. 20:28 ] @
Evo ja cu iskoristi ovu temu da postavim jedno ili dva pitanja.

Dakle ja i jos dva prijatelja imamo kao neki neformalni (za sada) web tim, znaci uradili smo par projekata zajedno s tim da je jedan od nas zaduzen za programiranje, jedan za dizajn, a ovaj treci radi grafiku i flash... uglavnom da nepricam te nebitne stvari sad razmisljamo o uvodjenju smarty-ja u nas posao :D ali posto niko od nas nije nikad koristi isti interesuje me sljedece:

Dali je taj smarty dovoljno da tako kazem , profesionalan ? Jer sve stranice koje mi radimo su uglavnom 99% svi elementi od samog koda do grafickih dijelova i dizajna nasi , znaci mi smo ih iskodirali/nacrtali/postavili itd. Sad kako se gleda na smarty sa stanovista ljudi koji se bave slicnim poslom znaci rade u kojekavim timovima... Dali bi neko moga reci nesto u stilu " A sta ?!?!? To su vam naplatili a koristili su smarty!!! Pa mogli ste to i sami napravit..." i slicno , kao sto ja reagujem kada sam vidio da je jedan tzv. web tim uzeo 500 eura jednoj firmi da bi im sklepali najobicniju stranicu u joomli...
[ flylord @ 11.03.2007. 10:03 ] @
ne vidim razlog da se bunis sto je neko to naplatio 500e. Ja imam svoj razvijen CMS, i skoro sam uradio posao od 5-6h i naplatio 250e. Da li ti imas nesto protiv toga? A i to nije tema ovog foruma.

Citat:
GMC: To su vam naplatili a koristili su smarty!!! Pa mogli ste to i sami napravit..." .


Gle ovu reakciju:
"To su vam naplatili a koristili su PHP. Pa mogli ste i sami napraviti svoj jezik za izradu sajtova"
"To su vam naplatili toliko a koristili Linux za hostovanje?!?! Pa mogli su i sami da napise operativni sistem"

Dakle, mnogi koriste sto vise gotovog koda. Za smarty, najpoznatiji primer ti je http://flickr.com/ . Oni su frontend pisali u smarty-u.

Tako da... Treba dosta vremena i novca da se napise nesto kompleksnosti smarty-a. I vise ti se isplati da ga iskoristis i ti, nego da gledas u tudju kucu i posao i govoris sta je ko koristio da zaradi pare. I ti za joomlu su naplatili svoj rad i konkretan posao, a ne joomlu.
Ja koristim gotove skripte: za templates, slanje mailova, image processing, DB klasa. Sve ono sto sam nasao da na netu ima nesto sto je bolje od onoga sto sam ja pravio. I nemam nimalo problema sa tim sto koristim gotove skripte.
[ GMC @ 12.03.2007. 10:39 ] @
Slazem se ja sa nekim djelovima tvog posta ali mislim da uporedba smarty-ja , PHP-a sa Linuxom i drugim operativnim sustavima nije bas najbolja.... Jer ja kazem da ako mislim nekome uzeti >= 1000 e da ipak treba uloziti truda u to i ne iskoristit i neciju dobru volju i ideju covjeka koji je pisao kod / scriptu/ bilo sta i stavio je na net besplatno , a onda da ja dodjem i uzmem je i naplatim kao svoju. O tome sam ja govorio kad sam reako ono u stilu "... pa mogli ste i sami to uradit". Jer na kraju krajeva neko je mogao i sam uzeti tu skriptu i iskoristit je za 0e.

Ali posto je ovo vjerovatno sad OT pa necu vise pisati....
[ dakipro @ 12.03.2007. 12:21 ] @
Tacno da je oftopic. Ali, pogledaj pod kojom je licencom smarty, i onda vidi. Covek koji ga je napisao, dao je prava na upotrebu. Iako naplatis 10k bilocega, to znaci da neces da koristis ni jednu free skriptu ili neki free alat, samo zato sto treba da se mucis? Razumem da nije fer ukrasti, ali je fer koristiti smarty ili bilo koj gotov kod (zend framework, xoops...). Trebalo bi i mailer da pises ponovo? DB klasu? Lepo si reko, to svako moze da ti napravi za male pare, ali to treba i da radi, da bude zasticeno, pouzdano, bla bla. Mislim da propustas celu poentu price, ne naplacujes ti kod koji kucas, vec celu aplikaciju tj. izgled i funkcionalnost, stabilnost, tehnicku podrsku, iskustvo, garanciju itd.
To i jeste sva draz rada sa php-om, skoro sve je free. ;)
A smarty, po meni, je spas. U startu su me ucili sa smarty-jem, i sad kad treba da prepravljam neku aplikaciju bez smarty-ja, ili bilo kog template engina, dodje mi da napisem sve ponovo...
Skoro sam probao i "template lite" (mini smarty), i za neke manje ozbiljne stvari zavrsava posao...
[ GMC @ 12.03.2007. 21:40 ] @
Ma ok, nisam ja pitao ovo da kazem da je smarty glup nego sam samo pitao kakvo je generalno misljenje o smartyju ako se misli ozbiljno raditi na nekim projektima,i to je sve. Cak mi je drago sto je misljenje pozitivno :)
[ cartmanlee @ 13.03.2007. 09:55 ] @
Halo ljudi, dajte malo razmislite. Ovo me podsjeća na onu priče - Mali iz susjedstva se bavi kompjuterima, sve on zna, rješit će on to za 5 minuta, i onda mali provede 2 dana čisteći Windowse od virusa, reinstalacija ne prolazi zbog nekog bad sektora na hardu....

Ono što meni jako smeta na ovim našim prostorima je to kako se mi developeri sami ponižavamo i kako pljujemo jedni druge. Ne govorim da je to bilo spomenuto u ovom topicu, ali neindirektno sami sebe pljujemo ovakvim raspravama. Drugari, da li se netko od vas zapitao koliko mi neke stvari također uzimamo zdravo za gotovo? Recimo, da li ste vi svjesni koliko developera nema pojma što je recimo smarty, ili ajax ili soap, ili nešto deseto? Nemaju pojma o čemu je riječ. Ako vi imate to znanje, da li onda vrijedite više???? Da? Ajmo onda zbrojiti dva i dva. Ima li smisla samom sebi skidati cijenu samo zato jer ne znamo da je implementacija kvalitetnog rješenja jednako ili više vrijedna od mukotrpnog pisanje koda od nule?

Prije par godina, kad sam se počeo baviti developmentom, imao sam priliku upoznati ljude koji se već godinama bave razvojem web aplikacija. I kad su imali jedan problem ja sam im opisao kako bi ga riješio. Šokirao sam se kako se deset ljudi s iskustvom iznenadilo kako je jednostavno riješiti problem. Čak nije bilo ni riječi o uvođenju nove tehnologije, radilo se o PHPu, ali nije im palo na pamet kako jednostavno napraviti algoritam. I sad kad pogledate, ako ste u stanju riješiti problem kako spada, ako ste u stanju složiti kvalitetno rješenje, bez obzira koju tehnologiju/library ugradili, a drugi to ili ne znaju ili ne mogu, zašto ne biste pošteno naplatili svoje znanje??? Ne govorim da treba ljude pljačkati, ali uzmite u obzir, informacija o skripti koja može riješiti problem ponekad vrijedi više nego vaša vještina pisanja vlastitog koda od nule.

Zadnjih godina imao sam doticaja i s financijskim institucijama, osiguranjima, managementom, farmaceutskom industrijom, i svi se oni drže zajedno, svi cijene svoje znanje, dok se mi u ITju trudimo jedni drugima pokvariti račune. Zato jer je naša struka relativno mlada, svi imamo neke nove ideje, svi znamo bolje jedni od drugih, a većina nas zbog te nadobudnosti i naivnosti dobije figu. Svijetom vlada truli kapitalizam, ali kapitalizam u suštini nije loš.

Eto, toliko od mene u ovom offtopicu

[ Zmaj @ 13.03.2007. 22:35 ] @
Temu sam postavi jer sam odradio projekat u Smartyiju, posle gomile koda koji sam rucno razvijao, resio sam da nadjem nesto sto je lakse za odrzavanje, i posle malo cackanja naisao sam na smarty. Ako se brines da li je profesionalan, odgovor je DA, jer sad ti kao koder u svom timu mozes uz malo objasnjavanja objasniti kolegi kako da ti pripremi sablon, i da ti skine deo posla s ledja. ono sto je bitno je da kad musterija bude trazila da se deo stranice premesti i 3 reda u 5 to ce moci da uradi i tvoj kolega koji se bavi dizajnom, i operacija ce trajat 5 minuta, probaj da uradis neki mali projekat u smartiju pa ce ti biti jasno koja je prednost smartija.
[ dakipro @ 14.03.2007. 08:36 ] @
Dobar deo dobrog dela smarty-ja je i mogucnost prosirivanja preko plug-ina, tj. funkcija koje itekako prosiruju funkcionalnost.
Juce sam probao extenziju SmartyPaginate, jer me vec duze vreme mrzi da napisem neku svoju kasvetnu funkciju, i za 15minuta sam je u potpunosti pokrenuo i podesio, od cega sam 10 minuta citao dokumentaciju. Samo joj izbrojis koliko ukupno redova u bazi ima, pokrenes 3-4 funkcije i to je to. Dosta plug-inova se moze naci ovde http://smarty.incutio.com/?page=SmartyPlugins , a koliko se secam korisnik Tomica Jovanovic aka -zombie- je pisao neke clanke na temu prosirivanja smartyja, a verujem i neke extenzije, pa mozda ima neku korisnu extenziju, koju je voljan da podeli sa nama
[ Nemanja Avramović @ 16.03.2007. 09:38 ] @
E ta paginacija je cool. Mada sam ja do sad sve radio kroz PHP pa onda samo prosledim {$pagination} templejtu ali ovo će mi biti valjda bolje. Probaću.

Baš ovih dana prebacujem neki sajt koji sam radio poodavno iz pomešanog php-a i dizajna u Smarty. U početku sam se malo nervirao dok nisam lepo podesio sve za rad i sad sve ide samo. A da ne pominjem koliko će redizajn lakše ići. Smarty je stvarno super, ali mene u početku malo nervira, dok se ne naviknem na njega
[ ZaMpA @ 19.03.2007. 20:42 ] @
Ehhh, jel to samo ja ne vidim carevo odelo?

Probao sam smarty, i mogu vam reci da i nije neshto narocito...okej razdvaja prezentaciju od 'mehanike' ali zaboga ljudi pa to moze i u PHPu sa (skoro) istom kolicinom koda
Code:
 u Smarty-ju:
{$kolicina}

u PHP-u:
<?=$kolicina; ?>


Meni izgleda da smarty sluzi samo da "natera" lenje programere da razdvoje logiku prezentacije od ostalog. Ustvari da ne bude da nisam spomenuo, svidja mi se caching u smarty-ju to je dobra ideja.... ostalo mi izgleda kao PHP koji umesto <? ?> koristi {}. Sve u svemu, ako ne moram da koristim josh jedan skripting jezik bolje da ga ne koristim (bezveze zauzima resurse ). Ali moram da koristim smarty jer me teraju ("i want it done with smarty, i work with that") dizajneri koji ne umeju drugo.
[ Nemanja Avramović @ 19.03.2007. 21:03 ] @
Pa valjda i jeste poenta da dizajneri ne uče php, a ni ti ne moraš učiti (prezentacioni deo) smartija. Daj im spisak promenljivih koje "izlaze" it tvoje skripte pa nek rade šta hoće.
Ja na primer radim sa jednim likom koji ne zna PHP (ništa osim include) i stalno se dešavalo da mi poremeti kod menjajući dizajn, ili ja da nešto zeznem oko dizajna menjajući kod (ređe ). Ovako sa smartijem ja radim svoj posao, on radi svoj posao i mene apsolutno ne zanima kad će on i kako da radi redizajn, a i ja kad menjam nešto oko koda ne diram njegov dizajn. To mi se sviđa kod smartija
[ ZaMpA @ 19.03.2007. 21:37 ] @
Ja sam mislio da PHP sluzi bash tome (da ja mogu da programiram, a on da dizajnira kako ko hoce)! Mozesh da u jedan fajl potrpash svoje promenjive, dizajner uradi include i onda samo <?=$var1;?> itd... koliko truda treba da se ulozi da se nauci smarty tolko treba i da se nauci osnovna osnova PHPa (petlje i echo).
Ne kazem da smarty ne sluzi nicemu, ali to se sve moze uraditi u PHPu sa par karaktera vishe, i bez josh jednog interpretera.
Mislim, moja prva reakcija na smarty je bila "i chemu ovo suluzi, onda?" . Al ajde kad kazu da je korisno, nek bude
[ Nemanja Avramović @ 19.03.2007. 23:17 ] @
Pa može ili tako ili da pomešaš dizajn sa kodom (fuj) ili sa smartijem. Iskreno ne bih želeo da dizajner sa kojim radim nauči include pa <?=$bla;?> pa petlje, pa rad sa tekstom, fajlovima, obradu slika itd itd... i onda mi jednog dana kaže "doviđenja" A s druge strane, dosta dizajnera se jednostavno plaši reči "programiranje" pa ako im daš nešto prostiju sintaksu za prezentacionu logiku onda to mogu nekako i da progutaju i svi su srećni

A kad dizajn i php pomešaš onda i te kako ne možeš da programiraš šta i kako hoćeš niti dizajner može da dizajnira kako hoće.
[ ZaMpA @ 20.03.2007. 19:55 ] @
Citat:
Nemanja Avramović:... i onda mi jednog dana kaže "doviđenja" :)

e tu si upravu


Citat:
Nemanja Avramović: A s druge strane, dosta dizajnera se jednostavno plaši reči "programiranje" pa ako im daš nešto prostiju sintaksu za prezentacionu logiku onda to mogu nekako i da progutaju i svi su srećni :)


e i ovo je tachno, i to je otprilike cemu smarty i sluzi. sharena lazza za dizajnere.

Citat:
Nemanja Avramović:A kad dizajn i php pomešaš onda i te kako ne možeš da programiraš šta i kako hoćeš niti dizajner može da dizajnira kako hoće.


Moz' da bude, al ne mora da znachi. Treba malo vishe rada (ne sporim) ali time se izbegne dodavanje josh jednog interpretera, shto je (IMHO) neshto chemu treba teziti
[ Nemanja Avramović @ 20.03.2007. 23:15 ] @
Citat:
Moz' da bude, al ne mora da znachi.


U pravu si, ali evo jednog primera gde mi se to desilo: Na sajtu interestingfacts.org je trebalo da radi neki lik pre mene pa je na samom početku odustao, ali je počeo nešto da radi, i to sa pomešanim php-om i html-om. Ništa, završim ja sajt tako kako je odrađen i dizajner (čija je i ideja bila za sajt) mi kaže da bi voleo da na stranici svakog fact-a u title-u, posle adrese sajta stoji i title fact-a.
Pitanje je kako to uraditi kad se u stranicu includuje header.php pa tek onda fajl za sql a ja query radim tek posle toga (logično), što znači da, dok ja izvučem title iz baze, <title> tag je odavno već poslat browseru. Naravno, mogao sam preko JSa da promenim title ali mi se to rešenje ne sviđa (IMHO, što se search engine-a tiče isto je nemati naslov u title-u ili ga dodavati js-om). Da je korišćen Smarty, on bi dobio promenljivu (recimo) {$fact_title} pa nek' je ubacuje gde hoće, zar ne?
Ovo ne govori u prilog smarty-ju (u potpunosti, mada bi sa njim, između ostalih rešenja, bio rešen problem), ali govori u negativnom smislu o mešanju php-a i html-a.

p.s. A da ne napominjem koliko je lakše mom dizajneru da stavi {$string|upper} nego <?php echo strtoupper($string); ?> (ili tako nešto)
[ cartmanlee @ 27.03.2007. 11:11 ] @
Slažem se s ovim zadnjim. Ne želim reći da dizajneri nemaju pojma, ali ne vidim zašto bi oni morali znati programirati. Svatko radi svoj posao i svi sretni. Najgore je kada jedan drugome moraju ispravljati greške.
[ extramedia @ 30.05.2007. 12:04 ] @
E ovaj Smarty bas i nije nesto narocito odlicna stvar i to iz nekoliko razloga.

1) Zauzima resurse bez veze.

Primer: Aplikaciju koja je u stvari pomocu echo komande davala HTML browseru (sto je inace glupo resenje) je trebalo prebaciti u Smarty. Prilicno obiman posao koji se sveo na pisanje aplikacije od pocetka... e sad... i to je zavrseno. Primera radi stranica u predhodnoj verziji je parsovana za 0.005 sekundi dok je istoj stranici uz pomoc Smarty-ja trebalo 0.05 sekundi, dakle 10 puta vishe!!!! Pogodite sta se dalje desilo... odustalo se od upotrebe Smarty-ja naravno.

2) Odvajanje "programiranja" od "dizajna" ???

Sta je u stvari programiranje? Pisanje algoritma u odredjenoj sintaksickoj formi razumljivoj kompajleru programskog jezika u kome se pise, zar ne? Dakle i Smarty je neka vrsta "programiranja" odnosno implementiranja algoritamskih celina (uslovnih grananja, visestrukih grananja, petlji ovakvih i onakvih... etc.)

Pa dragi moji "dizajneri" u cemu je stos? Plasite se da koristite "<?" umesto "{"... ili "<?=$pera?>" umesto "{$pera}" ili ...grananja i petlje da i ne pominjem.
Btw.. dizajneri u glavnom rade u DreamWeaver-u, koji i te kako odvaja PHP od HTML-a ako nicim drugim, onda bar bojom u kodu sto nije slucaj sa Smarty kodom. E sad.... ako neki dizajner i dalje u kodu ne razlikuje PHP od HTML-a.. ocno je malo nize niz ulicu i radi do 16h

3) Default delimiter-i u Smarty-ju su bash glupi.

Ok, ovo je vise kao sporedna zamerka jer se vrlo lako da promeniti... ali sve u svemu... ako je tamo neki "dizajner" bas navikao na "{}" onda ce tesko napisati neki JS kod, zar ne?


Rezime:

Sve u svemu, Smarty je, kao sto je neko ovde vec lepo rekao "sarena laza za dizajnere" i ja se u potpunosti slazem s tim.

Ne razumem u cemu je problem koristiti logiku razdvajanja "programerskog" i "dizajnerskog" dela uz pomoc samog PHP-a?
Evo primera u 3 fajla:
1) index.php
<?
require_once('inc/inc.index.php');
require_once('template/template.index.php');
?>

2) inc.index.php
<?
$naslov = 'Home page';
$user = 'Pera';
?>

3) template.index.php
<title><?=$naslov?></title>
<p>Dobrodosli, ulogovani ste sa korisnickim imenom: <?=$user?></p>


Ovaj treci fajl nema bash kompletan HTML u sebi, ali nadam se da ste razumeli logiku. Ovakvu logiku koristim vec nekoliko godina, i nema te sile koja ce da me ubedi da je dizajneru lakse da savlada i koristi Smarty nego PHP, a kamoli da me ubedi da je Smarty bolji od samog programskog jezika u kome je pisan... apsurd!
[ VladaSu @ 21.07.2007. 13:44 ] @
Smaty i Joomla se ne mogu porediti. Babe i zabe.
Sta je bolje Winamp ili photoshop?
Ukratko koja je glavna ralika izmedju smartija i joomle (CMS).
Ako nesto radis u smartiju moras da znas programiranje php i html, JS....
a ako radis u Joomli moras da znas da klikces.
Drugo, nema sanse za isto vreme nauciti smarti i php.

Sta fali joomli? To mogu biti mali projekti za male pare.
Masa " Joomla programera" kada treba da se nesto odradi na zahtev korisnika,a zasta nema totalno isti plugin, pobegne od projekta
i onda nadju nekog programera pa ih dodavanje ili ispravka malog dela sajta kosta vise nego sam sajt.
Zasto? Pa jer tamo su 1000 redova koda koji nista ne rade, jos 50 fajlova i direktorijuma koji nicemu ne sluze.
Ti u smartiju imas totajnu slobodu kao i u PHP-u. Imas i u joomli ali kolika je cena te slobode, a tek kada nidjes na bug...


@extramedia:
Citat:
1) Zauzima resurse bez veze.

Generisanje koda u Smarty-ju jeste sporije ali to nije usko grlo na serverima.
Komotno HTML kood Smarty moze da generese i 100X sporije ali to na velikom prezentacijam se nece osetiti.
Na sajtu koji ima preko 100.000 poseta mesecno i koji je radi uz pomoc Smarty-ja (ne u Smarty-ju) i jos ima dosta prezentacija na hostu
uspravanje nastaje prilikom citanja i pisanje u bazu, obradi slika... net..
Na flickr se upload-je 2000 slika u minuti i oni opet rade u smartiju.
A imas i kesiranje...
Necu da navodim sajt i ime firme ali sajt u smarty-ju je imao problem to sto je bio spor.
Uradjen je ponovo cist php, direktene naredbe a brzina je ostala ista...
Danas svaki sajt ima analitiku, reklame, sllike, flash. To sve mnogo usporava a ne smarty.


@extramedia:
Citat:
Sta je u stvari programiranje?

Sta je u stvari modularno programiranje?
Razdvajanje projekata ne njegove logicke celine nije samo moda vec i potreba, opravdana potreba.

@extramedia:
Citat:
Ok, ovo je vise kao sporedna zamerka jer se vrlo lako da promeniti... ali sve u svemu... ako je tamo neki "dizajner" bas navikao na "{}" onda ce tesko napisati neki JS kod, zar ne?

I ako govoris o navikama, to ne znaci da se nevike ne mogu menjati niti da su sve navike dobre.
Sta ako je neki dizajner navikao da ne radi, onda ce tesko napisati neki JS kod, zar ne?
Dizajner ne pise JS kod, zar ne? To je programiranje, zar ne?
Mislim ako jedna zagrada prestavlja problem onda ...

@extramedia:
Citat:
3) Default delimiter-i u Smarty-ju su bash glupi.

Znak < za otvaranje html taga je bas glup, zar ne? Bolje je "adadrrwqw".

@extramedia:
Citat:
Btw.. dizajneri u glavnom rade u DreamWeaver-u, koji i te kako odvaja PHP od HTML-a ako nicim drugim, onda bar bojom u kodu sto nije slucaj sa Smarty kodom.

Moze da odvoji i smarty kod.


Cela poenta smarty-ja je razdvojiti dizajn i logiku. Smarty-jeste prerastao u nesto malo vise od toga, ali ne koristim takve stvari i ako su neke jako korisne.

Vecina kritika upucenih smartiju su neopravdane i od ljudi koji su samo probalil a nisu radili.
Ako je neko navikao na neke druge stvari neka ne kritikuje nesto na sta ne zeli da se navikava zato sto ga mrzi, nije dovoljno video i probao

Dizajneru je dovoljno da nauci foeach petlju i if-else.

Meni se isto smarty cino bezpotreban ali sam silom prilika morao da ga naucim (mislim ucenje, procitao sam tutor za 2 sata)
i posle samo 2-3 meseca vec sam toliko se navikao na njega da kada moram da redizajniram neki sajt koji je cist php onda siznem.
A o Joomli da ne pricamo.

Redizajn sajta je mnogo olaksan.
Dizajner treba da zna sveka par naredbi bez neke velike logicke komplikacije.
Mada sve zavisi na kojem se nivou ovo razdvoji.



[Ovu poruku je menjao VladaSu dana 21.07.2007. u 17:10 GMT+1]
[ Man-Wolf @ 14.10.2007. 22:47 ] @
Cekaj, meni stvarno nije jasno nesto - Kome se ne svidja smarty ne mora ni da ga koristi ?? Ne vidim uopste u cemu je tu problem .... Ok, covek je pitao, koje su prednosti Smarty-ja i da li prelaziti na njega,... Kapiram da svako ostavi svoje misljenje o tome da je bezveze, ali to treba da ostane na nivou licnog misljenja, a ne da ubedjuje druge o tome... Bar ja tako mislim ....

Ja licno Smarty koristim evo vec 3 dan :P :P Pre toga sam radio neki projekat, u kome je bio izmesan HTML kod i PHP. Mozete misliti na sta je to licilo, jer sam krenuo sa idejom da to bude CMS ( ako nekog zanima da se malo nasmeje, mogu da okacim pojedine delove :P :P ) .... Posto sam relativno pocetnik u PHP-u ( malo jace od godinu ipo dana iskustva ), ziveo sam sa ubedjenjem da je to jedini nacin za realizaciju projekta ... Posle vidim da se stalno prica o Template Engine-ima, Smarty-ju, .... Al bas nisam bio za to ( uciti nesto novo, ma nema te sile ). Al eto, pre par dana se zainteresovah za Smarty i posle mozda sat vremena ( ako ne i manje ) citanja Basic Tutorial-a, uso sam malo u materiju. Posle par sati sam shvatio koliko je jednostavan ....

Evo za primer, prethodni kod za ispisivanje menija:

Code:

<?php 
    $result = mysql_query("SELECT ID, vrednost, link, meniNum, parametar FROM meni WHERE naziv = 'dugme' GROUP BY meniNum ") or die(mysql_error());
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
      // Proveri da li ima sub-kategorije ili ne?
        if ($row['parametar'] == 1) {
          // Ima sub-kategorije, tako da prikazi strelicu na dole 
          echo '<DT><p class="meni"><strong><big> ▪</big> ' . $row['vrednost'] . '</strong></p></DT>';
          // Sada uvodimo while petlju koja ce prikazati sub-kategorije
            $meniID = $row['ID'];
            $res = mysql_query("SELECT vrednost, link, meniNum, parametar FROM meni WHERE naziv = '$meniID' GROUP BY meniNum ") or die(mysql_error());
            
              while ($row1 = mysql_fetch_array($res, MYSQL_ASSOC)) {
                echo "<DD><p class='meni'><small>▫ </small><a href='". $row1['link'] . "'>" . $row1['vrednost'] . "</p></a></DD>";
                }
        }
        // Ukoliko nema sub-kategorije, onda prikazujemo kao obican link u meniju
        else {
          echo "<p class='meni'><big> ▪ </big><a class='meni' href='" . $row['link'] . "'><strong>" . $row['vrednost'] . "</a></strong></p>";
         
        }
        }
    
    ?>


A evo sadasnjeg koda za ispisivanje istog:

Index.php:

Code:

// Ucitaj config file
  include('config.php');
  //Sada cemo da ucitamo dugmice iz menija :-)) 
  $index = new index();
  $index->meni();

  $smarty->assign('upit', $index->upit);


Index.tpl:

Code:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
              <p>{section name=broj loop=$upit start=1}

                {if $upit[broj].parent < 1}

                <tr><td valign="top" class="meni" align="center">
                <a href="{$upit[broj].link}" class="meni">{$upit[broj].vrednost}</a>
                </td></tr>
                {/if}
            
                {section name=child loop=$upit start=0}

                {if $upit[broj].parent < 1 AND count($upit[broj][child].vrednost) > 0}

                <tr><td valign="top" class="meni" align="left">

                <a href="{$upit[broj][child].link}" class="submeni">{$upit[broj][child].vrednost}</a>

                </td></tr>
               
                {/if}

                {/section}
             
                {/section}          </p>
              
                
                 
                
            </table>


Evo jos jedne konstatacije sa strane pocetnika u programiranju:

Link u smarty-ju:
Code:

<a href="{$upit[broj][child].link}" class="submeni">{$upit[broj][child].vrednost}</a>


Isti kod bi bez Smarty-ja izgledao ovako:
Code:

<a href="<?php echo $upit[broj][child][link]; ?>" class="submeni"><?php echo $upit[broj][child][vrednost]; ?></a>


Pa jos i dodatne opcije (modifiers) koje omogucavaju jednostavniji rad sa stringovima: http://smarty.php.net/manual/en/language.modifiers.php

Mislim, nisu mi jasni ljudi koji idu logikom: "Zasto ici laksim putem, kad mozes tezim ......" ?? Kad se vec neko potrudio da olaksa rad programera i dizajnera ( a dosta veoma iskusnih ljudi sa ovog foruma potvrdjuje to ), zasto ne iskoristiti to ??