evo ga :)
vjerojatno ima nesto i za odbacit...kad sam vidio da radi ostavio sam nek odstoji...sutra cu vidjet ide li sta pametnije : )
ne znam kolko je elegantno, vjerojatno ide i puno jednostavnije, al mi je bilo dovoljno da je - proradilo : )
Code:
function glavna()
{
global $main;
if (isset($_GET['kategorija'])) $kat=$_GET['kategorija'];
else $kat = NULL;
katalog($kat);
$main->smarty->display("katalog.tpl");
}
function katalog($kat)
{
global $main;
$main->baza->Otvori();
if ($kat)
{
DajElement($kat);
}
else
{
$query1 = "SELECT id, title FROM katalog_categories
WHERE active=1 AND parent = 0 ";
$r=mysql_query($query1) or die (mysql_error());
while($row = mysql_fetch_assoc($r))
{
DajElement($row['id']);
}
}
$main->baza->Zatvori();
}
function DajElement($kat)
{
global $main;
global $sadrzaj;
$query = "SELECT id, title FROM katalog_categories
WHERE active=1 AND id = $kat ";
$r=mysql_query($query) or die (mysql_error());
$row = mysql_fetch_assoc($r);
$sadrzaj .= "<DIV class=glavne_kategorije><a href=\"$_SERVER[PHP_SELF]?kategorija=$row[id]\">$row[title]</a> <br>";
Drvo($kat,$row['title']);
$sadrzaj .= "</DIV>";
$main->smarty->assign("sadrzaj",$sadrzaj);
}
function Drvo($kat,$ime)
{
global $sadrzaj;
$query = "SELECT id, title FROM katalog_categories
WHERE active=1 AND parent = $kat ";
$r=mysql_query($query) or die (mysql_error());
$kolko = mysql_num_rows($r);
if ($kolko > 0) $sadrzaj .="<DIV class=podkategorije>";
while($row = mysql_fetch_assoc($r))
{
$sadrzaj .= "<a href=\"$_SERVER[PHP_SELF]?kategorija=$row[id]\">$row[title]</a> <br>";
$vrati = ($kolko==0) ? 0 : Drvo($row['id'],$row['title']);
}
if ($kolko > 0) $sadrzaj .="</DIV>";
return $vrati;
}
jedino sta ne znam je kako u smartyju to ispisat kroz sections... nisam ulovio nacin kako bi to mogo... pa sam ovako, strpo sve u jednu varijablu 'sadrzaj' i nju poslo smartyiju.. dok ne smislim nesto more smart :)