Struttura gerarchica ad albero "Tree Traversal"

Vorrei implementare la gestione di una struttura gerarchica ad albero di tipo "Tree Traversal" (qui illustrata) per la mia tabella "tbl_category".

Ho cercato tra le estensioni di Yii ma ne sono uscito malconcio.

Ho preso in esame "ejnestedtreeactions". Per la quale devi installare: ENestedSetBehavior e CJstree 1.1 per la quale devi installare jsTree v.0.9.9.a

Davvero ci vogliono 4 estensioni per fare tutto ciò?

Qualcuno di voi ha risolto in maniera più agevole?

Ho provato a seguire le indicazioni ma non ho capito nulla.

Primo fra tutti lo schema per la tabella:


CREATE TABLE `category` (

  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,

  `lft` INT(10) UNSIGNED NOT NULL,

  `rgt` INT(10) UNSIGNED NOT NULL,

  `level` SMALLINT(5) UNSIGNED NOT NULL,

  PRIMARY KEY (`id`),

  KEY `lft` (`lft`),

  KEY `rgt` (`rgt`),

  KEY `level` (`level`)

);

Sbaglio o manca un campo varchar per il nome della categoria?

Non serve? È sottinteso? Sono io cerebroleso?

Grazie a tutti coloro che vorranno darmi una mano

Così ad occhio vedo anche io che qualche cosa non va. Hai provato ad implementare una tua soluzione? Voglio dire… si tratta "solo" di avere un id, un nome di categoria, ed una categoria padre. Il resto va da se. Poi poi rappresentare tutto con jquery e con il treeview.

Ciao Sensorario, il modello che suggerisci tu è Adjacency List Model (parent>child). Ed è quello che ho adottato anch’io fino ad ora. Semplice e intuitivo ma richiede numerose query per ottenere la visualizzazione dell’albero completo (radice>nodi).

Le estensioni che ho esaminato considerano un altro modello: Modified Preorder Tree Traversal Algorithm. Questo ti permette di recuperare l’intero albero con una sola query. La gestione dei dati della tabella è, sicuramente, più complessa. Capire, dalla loro lettura, come sono in relazione è molto difficile.

Ora, che sono in fase di totale rivoluzione, volevo adottare questa soluzione più "performante".

Chi volesse saperne di più circa questi due modelli c’è un bel articolo in italiano qui o in inglese qui

Ok, è una sorta di albero bilanciato. Non hai tutti i torti, fare tante query potrebbe richiedere molto. Studierò, ma ora come ora mi è venuta in mente una soluzione: potresti scaricare tutta la tabella in una struttura ad array. Quindi avere dentro a php. E grazie a qualche while ricostruire tutti i tuoi alberi. Anche javascript non credo che se la caverebbe male. Con una funzione ricorsiva secondo me riesci a tagliare la testa al toro.

Ciao a tutti,

dopo varie ricerche ho trovato questa estensione: nestedsetadmingui

Questa estensione fa con i Nested Tree tutto ciò che non avete mai osato chiedere…

Gestisce più Root nella stessa tabella e, oltre i normali comandi di editing, ha la possibilità di fare copia/incolla di interi Nodi.

Tutto ciò tramite menu contestuale

Troverete istruzioni dettagliatissime e anche una demo.

Nello zip ci sono tutti i files che servono, non dovete andare in giro a recuperare alcunché

Io l’ho installata ma ho avuto qualche problema.

Questa affermazione, di fatto, non fa testo dato che sono un incapellato.

Tre piccoli errori di battitura (su tre commenti PHP), che a me davano errore nel gererare le Crud, li ho già comunicati all’autore. Spero non si sia offeso.

Se qualcuno di voi fosse disposto a testarla mi farebbe un gran favore.

Ora come ora alcune operazioni le fa altre no e non riesco ad uscirne

Grazie

Hi Everyone,

I am trying to use NestedSetAdminGUI extension, I do all the setup metioned there. But i am not able to create a new node in it. although the existing nodes are deleting successfully. Also i am not able to see the fancybox to add the information.

Anybody please help me to resolve this issue

Waiting for quick response.

Thanks,

Jarnail

Two weeks ago, I found and reported some small errors (some "actions" work some do not), but the author does not seem to be interested to fix them. The extension has never been updated (Last updated: Sep 5, 2011). I gave up

Hi, my name is Giovanni, I am new to this Forum and to the magic of YII (enthusiastic!).

I tried to implement the NestedSetAdminGUI extension developed by Spiros Kabasakalis.

I tested the categorydemo and a category module newly CRUDly generated as per extension Author’s instructions.

But I cannot create new roots. Also I can only create new nodes, but cannot have them saved into DB.

Anybody as found a fix for this problem ?

Thanks in advance for any suggestion

Giovanni

Ciao Giovanni, avevo lo stesso tuo problema poi ho preferito lasciar perdere. Ho scritto numerosi messaggi all’autore segnalando alcuni malfunzionamenti e trovandogli alcuni piccoli errori. Mi ha sempre risposto gentilmente, questo lo devo dire, ma di fatto non ha mai preso sul serio le mie segnalazioni dicendo che nessuno si era mai lamentato.

io di mestiere faccio il grafico pubblicitario, in questo ambiente sono più o meno un "clandestino" e mi trovo in serio imbarazzo a dover riprendere o semplicemente segnalare degli errori ad un professionista che a me può solo insegnare. Molto probabilmente Spiros sarà impegnato in questioni più importanti ma speravo che almeno aggiornasse il suo, comunque, pregevole lavoro o non lo rendesse più disponibile.

Prova a mandargli un messaggio privato tramite il suo profilo forse sarai più fortunato.

un saluto