Forum Sveta kompjutera  

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 24.3.2013, 0:53   #1
Ivan-94
Veteran
 
Član od: 15.3.2009.
Lokacija: Beograd
Poruke: 654
Zahvalnice: 240
Zahvaljeno 63 puta na 43 poruka
Slanje poruke preko MSN-a korisniku Ivan-94 Slanje poruke preko Skypea korisniku Ivan-94
Određen forumom Generisanje menija(nested menus) i komentara?

Posto sistem koji koristim sad postaje jako neefikasan, zbog toga sto na svakom page load-u imam oko ~150 query-a samo za meni, sto je neprihvatljivo. Pa sam mislio da napravim nesto kao: samo jedna tabela, gde ce da se nalaze kategorije; svaka kategorija moze da bude top_level i svako osim te moze da ima parent-a(njegov id).

Sve je to ok u mojoj glavi ali problem je u realizaciji tog koda. Uopste nemam ideju kako bih to "nacrtao" na stranicu.

Ista prica i za komentare ali ako resim menije i ovo je reseno. Pa da li neko ima ideju ili neki example kako da to uradim?
Ivan-94 je offline   Odgovor sa citatom ove poruke
Stara 24.3.2013, 2:14   #2
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Generisanje menija(nested menus) i komentara?

Nisi naveo koji jezik i koje alate koristis, ali generalna je ideja da ces koristiti node tree sistem.

imaces "cvorove" (postove/komentare) koji imaju svoju "decu"

svaki cvor ima listu cvorova koji njemu pripadaju.


sto se tice snimanja i ucitavanja, kada ucitas svaki cvor pojedinacno, preko parent_id-a ces ga dodavati u listu svog "roditelja"

funkcija za crtanje ce crtati jedan po jedan i biti rekurzivna.

Struktura podataka ti izgleda ovako nekako:

Kod:
Cvor1
------Cvor1a
------Cvor1b
-------------Cvor1ba
------Cvor1c
Cvor2
------Cvor2a
A funkcija u pseudo kodu:

Kod:
Function NacrtajCvor(Node nd)
{
  nd.kreirajHTML();
  foreach (Node childNode in nd.childnodes)
  {
    NacrtajCvor(childNode);
  }
}
Dakle, kada prosledis jedan cvor (jedan komentar) funkciji da ga nacrta (pretpostavljam ubaci odgovarajuci HTML)

ona ce nacrtati taj jedan, i u petlji proci kroz svu njegovu "decu", i nad svakom od dece pozvati opet tu istu funkciju (koja ce dalje pozivati nad tom decom, itd dokle god ide duboko)

nadam se da me razumes, ako ne, kazi pa da se bacimo na crtanje
irreal je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci:
Ivan-94 (24.3.2013)
Stara 24.3.2013, 4:15   #3
Ivan-94
Veteran
 
Član od: 15.3.2009.
Lokacija: Beograd
Poruke: 654
Zahvalnice: 240
Zahvaljeno 63 puta na 43 poruka
Slanje poruke preko MSN-a korisniku Ivan-94 Slanje poruke preko Skypea korisniku Ivan-94
Određen forumom Re: Generisanje menija(nested menus) i komentara?

Hvala puno, evo koda:

Kod:
public static function menu($node)
{

	if($node->top_level)
	{
	        echo "<li class=\"dropdown\">";
		echo "<a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">$node->name<b class=\"caret\"></b></a>";
		echo "<ul class=\"dropdown-menu\">";
		echo "<li class=\"nav-header\">Categories</li>";
	}
	else
	{
		echo "<li>";
		echo "<a href=\"#\" >$node->name</a>";
	}
			
	foreach ($node->childrens() as $cat) {
		Str::menu($cat);
	}

	if($node->top_level)
	{
		echo "</ul>";
		echo "</li>";
	}
}
Da nisam rekao jezik je php a framework je Laravel, ali pseudo je univerzalan
Ivan-94 je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 9:15.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2019, vBulletin Solutions, Inc.
Hosted by Beograd.com