[ kazil @ 27.07.2007. 10:46 ] @
sve sam vec pretumbao i ne mere pa ne mere... polako prebacujem svoje radove na smarty al kod ovog sam zapeo. rec je o prokletom pageru ili kako se vec zove, ono za listanje stranica (po 10 rez na strani, pa 50 strana itd.) bez smartyja mi radi, samo ne uspevam da preradim kod tako da radi sa smartyjem. u teoriji sam nasao skoro dva resenja prvo: php: Code: for ($i=1;$i<=$ukupno_strana;$i++){ $link_niz[] = $_SERVER[PHP_SELF].'?id_izvor='.$id_izvor.'&strana='.$i; $i_niz[] = $i; } $smarty->assign('link',$link_niz); $smarty->assign('i_niz',$i_niz); e sad. u tpl mi treba da ispisuje brojeve od 1 do $ukupno_strana i da svaki broj ima svoj odgovarajuci link. pokusavao sam na razne nacine al` izgubim se u onim dreded foreach petljama. pokusavao sam i sa section i sa counter. pitanje za prvo: kako preko smartyja da ispisem sa gore prikazanim php kodom? drugo: pokusavao sam i tako da u tpl ubacim {php}...{/php} i tu da pozovem funkciju koja ce mi ispisati lister stranice. funkcija je sledeca: Code: function ispisi_brojeve_stranica($ukupno_strana,$id_izvor){ //ispisuje brojeve za stranice for ($i=1;$i<=$ukupno_strana;$i++){ echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?id_izvor=$id_izvor&strana=$i\">"; if ($i == $_GET['strana']) {//trenutnu stranu ispisuje bold echo "<b> $i </b>"; }//kraj if-a else { echo " $i "; }//kraj if...else... echo "</a>"; }//kraj for petlje }//kraj funkcije funkcija prima 2 parametra: $ukupno_strana i $id_izvor. $id_izvor pokupim u tpl bez problema preko $smarty.get.id_izvor posto se nalazi u adress baru. $ukupno_strana ne mogu nikako da iz php-a prosledim u php koji je ugnjezden u tpl: Code: {php} ispisi_brojeve_stranica($ukupno_strana,$_GET[id_izvor]); {/php} pitanje za drugo: kako da funkciji ispisi_brojeve_stranica prosledim promenljivu $ukupno_strana? nadam se da sam bio kolko-tolko jasan i hvala unapred ![]() edit: nije elegantno, ali radi ![]() na prvi nacin sam uradio: php: Code: for ($i=1;$i<=$ukupno_strana;$i++){ $link_niz[] = $_SERVER[PHP_SELF].'?id_izvor='.$id_izvor.'&strana='.$i; } $smarty->assign('link',$link_niz); tpl: Code: {foreach item=link from=$link} <a href="{$link}"> {assign var='broj' value=$link|count_characters} {assign var='broj1' value=$broj-1} {$link.$broj1} </a> {/foreach} zasto ovako? zato :P svaki link koji uzimam je uvek istog formata /negde/strana.php?id_izvor=$x&strana=$i prvo za svaki link izbrojim koliko ima karaktera to dodelim u broj. onda iz tog broja oduzmem 1 i dodelim broju 1. i na kraju ispisujem karakter iz $link koji se nalazi na pozicij $broj1 a to je zapravo broj strane. ako neko nadje bolje resenje ili ovo napravi da je bolje nek postuje bio bih zahvalan ![]() ![]() [Ovu poruku je menjao kazil dana 27.07.2007. u 12:25 GMT+1] |