Jump to content

Tabella Category nleft/nright


Totti

Recommended Posts

Ciao,

Io ho impiegato un sacco di tempo per capirlo :) Sostanzialmente servono per la strutturazione ad albero.

Ogni categoria ha un valore nleft e nright. Ad esempio, hai questa successione

 

Scarpe (nleft = 0, nright = 4), Accessori (nleft = 5, nright = 6), Orecchini (nleft= 7, nright = 11).

 

Ora, hai delle sottocategorie, per scarpe hai, ad esempio "Da uomo, da donna", con questi valori

Da uomo (nleft = 1, nright = 2), da donna (nleft = 3, nright =4).

 

Come vedi, nleft e nright delle sottocategorie sono compresi fra quelli della categoria genitrice. In questo modo, se selezioni tutte le categorie insieme dal Database con una sola richiesta, puoi ordinarle tramite questi valori. Oppure puoi scegliere tutte le sottocategorie di una determinata categoria impostando come condizione che nleft e nright siano comprese in un determinato raggio.

 

Spero di essere stato abbastanza chiato :) Se hai ulteriori domande chiedi pure

  • Like 1
Link to comment
Share on other sites

Non capisco la logica non sono progressivi passano da 4 a 6 a 10 senza apparentemente una logica.

 

Poi smanettando nel database ho notato che non ci sono chiavi esterne e relazioni tra le tabelle ?

Link to comment
Share on other sites

Ops, errore mio, era così

 

Scarpe (nleft = 0, nright = 5), Accessori (nleft = 6, nright = 7), Orecchini (nleft= 8, nright = 11). Sono progressivi se prendi in considerazione le sottocategorie (in questo caso orecchini ne ha una, diciamo "bigiotteria", ha ha nleft 9 e nright 10.

Link to comment
Share on other sites

Sono solo dei numeri usati per ordinare le categorie, come ho detto.

0 e 5 sono i numeri considerati "margini". Le sottocategorie avranno assegnati i numeri all'interno, ovvero da 1 a 4. La numerazione cambia a seconda del numero di categorie che hai. Sono solo una convenzione, si potrebbero usare anche le lettere, ma naturalmente si avrebbe un numero di categorie più limitato.

 

Un altro esempio con le lettere:

Scarpe (nleft = a, nright=f)

Da uomo (nleft = b, nright = c), Da donna (nleft = d, nright = e)

 

 

Abbastanza chiaro? Così la successione è completa: abcdef, ovvero: apri Scarpe (nleft: a)->Da uomo(b,c) + da donna(d,e) <- chiudi scarpe (nright: f)

Link to comment
Share on other sites

  • 3 months later...

una daomanda al volo, ma se nleft=5 e nright=6 ad esempio per gli orecchini... significa che non avrà sottocategorie?

serve solo per "occupare" uno spazio prima della categoria successiva, che magari va da 7 a 15 perche' avra' un tot di sottocategorie?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...