[ Milan M. Radovic @ 28.08.2007. 11:01 ] @
Naime ,nije mi toliki problem to sto skripta uzima template pa redja promenjive umesto navedenog stringa u templateu vec mi je confuse kako ako imam nesto u array (mysql npr) da napisem u template? Redovi konkretno me bude.Znate na sta mislim.
[ dakipro @ 28.08.2007. 11:19 ] @
Pogledaj kako recimo smarty to radi, {$myArray.users.0.name} ili {$myArray[users][0][name]} a ti mozes da si napravis kako vec kako tebi odgovara. Naravno, postoji i petlja u smartiju, to imas u manualu, a postoji i pod forum php-a, Smarty, pa pogledaj i tamo...
[ centaur @ 28.08.2007. 12:22 ] @
Pa recimo skupis neke podatke u niz $data i onda:
Code:

<ul>
{foreach item=row from=$data}
     <li>{$row.name}</li>  {* name = key u nizu $data *}
{/foreach}
</ul>


i tako si napravio dinamicki generisanu listu :)
Mozes koristiti i {section}{/section} na slican nacin.

PS Smarty je u pitanju
[ Milan M. Radovic @ 28.08.2007. 13:20 ] @
Citat:
centaur: Pa recimo skupis neke podatke u niz $data i onda:
Code:

<ul>
{foreach item=row from=$data}
     <li>{$row.name}</li>  {* name = key u nizu $data *}
{/foreach}
</ul>


i tako si napravio dinamicki generisanu listu :)
Mozes koristiti i {section}{/section} na slican nacin.

PS Smarty je u pitanju

Je li ,imas li mozda da mi okacis neki fajl,da vidim kako to radi :D neki tvoj.

[ centaur @ 28.08.2007. 16:12 ] @
Nemam nista sto bi moglo da se okaci ovde (a da bude stvarno korsino) iz dva razloga.

Prvi:Sve radim kroz Model-View-Controler pattern tako da ima najmanje 3 fajla (+ klase iz framework-a za bazu, config...)
Drugi:Sve sto radim su komercijalne stvari, znaci glupo je da ovde stavljam source.

Ali, potrudicu se kad dodjem kuci (sad sam na poslu) i nadjem malo vremena da napisem ovde jedan prost primer.

PS U svakom slucaju, ako te interesuje Smarty (ja ne bih mogao da zamislim da moram da radim bez njega) manual u ruke.
[ centaur @ 28.08.2007. 22:33 ] @
Evo drzim obecanje :) i postujem prilicno prost primer:
U prvom fajlu je primitivna funkcija za rad sa bazom i deo gde se salje promenjiiva u template news.tpl.
U kodu nema instanciranja i podesavanja Smarty-ija.

Ovo je recimo fajl news.php:
Code:

<?php
function executeQuery($q)
{
    $db = mysql_connect('localhost', 'username', 'password');
    mysql_select_db('db_name');
    $res = mysql_query($q, $db);
    if ($res)
    {
        for ($data = false; $row = mysql_fetch_array($res); $data[] = $row);   //Pravi se niz sa rezultatima
        return $data;
    }else{
        die('Database problem bla bla bla'); //Nikad ne raditi ovako
    }
    
}

$q = "SELECT `news_title`, `news_content` FROM `news`"; //Recimo da skupljamo naslov i sadrzaj svih vesti koje postoje u tabeli
$news = executeQuery($q);         //Funkcija vraca rezultate u odgovarajucem nizu


$tpl->assign('news', $news);      //"saljemo" niz $news u template pod istim imenom
$tpl->display('news.tpl');           //"Ispisuje" se template news.tpl
?>


A ovo je news.tpl
Code:

{foreach item=row from=$news}
<h1>{$row.news_title}</h1>
<p>{$row.news_content}</p>
{/foreach}


Ovo bi bio verovatno najprostiji primer u Smarty-iju.
Od mene toliko :)



[ Nemanja Avramović @ 29.08.2007. 09:10 ] @
Ako se već odlučiš za Smarty, ova tema je nepotrebna, potrebno ti je ovo: http://smarty.php.net/download-docs.php
[ Milan M. Radovic @ 29.08.2007. 19:44 ] @
Tnx.. probacu malo da se prebacim na taj "visi" nivo PHP-a... jer sve ja lepo znam,ali sa code-in-page sistemom rada.
Pretpostavljam da je ovo profesionalnije:D
[ centaur @ 29.08.2007. 20:14 ] @
Kad malo udjes u sistem, prilicno je lagano.
Ja sam dugo bezao od Smarty-ija, ni sam ne znam zasto.
Sad, kao sto rekoh gore u postu, ne mogu da zamislim da radim bez njega (ili neceg slicnog).
[ Milan M. Radovic @ 30.08.2007. 23:51 ] @
Nije ovo tako lose.... eeeeeej... strava..samo sto mi ne treba 90% stvari... ali dobro,mozda vremenom i koriste.
Primer sa SQL mi je u pocetku bio tezak ali vidim da ima smisla...tako je to kad citas tudji kod.
A jel mora da se sve uvek provlaci kroz assign?

[Ovu poruku je menjao Milan M. Radovic dana 31.08.2007. u 01:32 GMT+1]
[ dakipro @ 31.08.2007. 01:50 ] @
Potrazi na forumu, neko je postovao sopstveni template sistem, koji je daleko manji i laksi od smarty-ja. Imash i template-light koji je malo osakacen smarty, u osnovi... ako hoces dalju diskusiju na temu smarty-ja, postoji odgovarajuci forum za to.
btw., sto rece centaur, ne daj boze da moram da radim bez njega, kao da programiras vezanih ruku, nemas sirinu... Toliko sam navikao da odvajam prezentacionu logiku od aplikacione, da stvarno imam problem ako treba raditi bez smartyja...

da, i ja sam mislio da mi 90% nece trebati, a sad vazdan jurim i pisem pluginove, koji vreme znache
[ centaur @ 31.08.2007. 08:22 ] @
Citat:
Milan M. Radovic:...samo sto mi ne treba 90% stvari...

U pocetku je uvek tako.Samo ti kreni lagano, mogucnosti ce same da se otvaraju :)
[ Milan M. Radovic @ 03.09.2007. 12:59 ] @
Imam ovaj code:
Code:
{foreach item=categories from=$categories}
                
                {html_options options=$categories}    
                
                {/foreach}

ali, ja necu da ispisuje KEY nego INDEX za value..
[ dakipro @ 03.09.2007. 13:09 ] @
mozda ne vezano za problem, ali {html_options options=$categories} u sebi vec ima foreach petlju ??
[ Milan M. Radovic @ 03.09.2007. 13:43 ] @
Pa.. ni ovako ne pravi problem,al opet nece INDEX da stavi za value