Totti Posted March 8, 2012 Share Posted March 8, 2012 Ciao, volevo sapere a cosa servono questi campi e come vanno valorizzati,dato che se li assegno a caso si accavvallano le categorie. Link to comment Share on other sites More sharing options...
NemoPS Posted March 8, 2012 Share Posted March 8, 2012 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 1 Link to comment Share on other sites More sharing options...
Totti Posted March 8, 2012 Author Share Posted March 8, 2012 Ancora non ho capito scusa, nleft deve essere progressivo in base al padre-figlio ? e nright ? Passa da Scarpe nright 4 a da uomo nright 2 ???? Link to comment Share on other sites More sharing options...
NemoPS Posted March 8, 2012 Share Posted March 8, 2012 N left deve essere sempre minore di quello dei figli, nright sempre maggiore Link to comment Share on other sites More sharing options...
Totti Posted March 8, 2012 Author Share Posted March 8, 2012 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 More sharing options...
NemoPS Posted March 8, 2012 Share Posted March 8, 2012 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 More sharing options...
Totti Posted March 8, 2012 Author Share Posted March 8, 2012 Scusa ma non ho capitoi . Scarpe (nleft = 0, nright = 5) perchè ? 0 cosa vuol dire ? e 5 ? Link to comment Share on other sites More sharing options...
NemoPS Posted March 8, 2012 Share Posted March 8, 2012 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 More sharing options...
Totti Posted March 8, 2012 Author Share Posted March 8, 2012 Quindi serve per racchiudere un insieme di categorie tipo da nleft A a nright F ? Link to comment Share on other sites More sharing options...
NemoPS Posted March 8, 2012 Share Posted March 8, 2012 Serve per racchiudere tutte le sottocategorie di una particolare categoria Link to comment Share on other sites More sharing options...
Totti Posted March 8, 2012 Author Share Posted March 8, 2012 Bè non bastava impostare il Parent ? Link to comment Share on other sites More sharing options...
peorthyr Posted June 22, 2012 Share Posted June 22, 2012 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 More sharing options...
Totti Posted June 22, 2012 Author Share Posted June 22, 2012 Io ancora la devo capire bene sta storia di nleft e nright. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now