Un consiglio su come gestire una relazione complessa tra nodi

3 contenuti / 0 new
Ultimo contenuto
Un consiglio su come gestire una relazione complessa tra nodi

Ciao a tutti,

Semplifico molto con un esempio quello di cui ho bisogno

Ho un tipo di nodo "Stanza"
Ho un tipo di nodo "Mobile"

Quando creo un nuovo nodo di tipo "stanza" voglio potergli associare dei nodi di tipo "mobile"

Il nodo associato può avere una serie di campi associati (es diponibilità si/no, data rientro, un codice prodotto)

quindi l'oggetto Stanza sarà così composto

Camera da letto "pippo"
-- Armadio "pluto"
---- disponibile: SI
---- codice: PLT
-- Letto "minnie"
---- disponibile: NO
---- rientro: 25 Dicembre 2011
---- codice: MNN
--- Sedia "Paperino"
---- disponibile: SI
---- codice: PPR

e così via

considerando però che Pluto, Minnie e Paperino sono nodi ciascuno con una descrizione ed altri campi personalizzati.

Se dovessi realizzarlo da zero userei delle tabelle di questo tipo

Stanza
ID | Nome

Mobile
ID | Nome | Descrizione | Prezzo

StanzaMobile
ID | ID_Stanza | ID_mobile | Disponibile | Data rientro | Codice

Dato che lo devo realizzare con Drupal gli oggetti Stanza e Mobile sono evidentemente dei nodi, la relazione però non è una normale "CCK_related_node" perchè devo poter definire i campi aggiuntivi (disponibile, data, codice etc)

Come risolvereste questa situazione ?

grazie!

io utilizzerei un terzo content type (StanzaMobile) con un campo nodereference a cui associare le istanze selezionate degli altri due, più i campi specifici.
ho fatto una cosa simile per una newsletter: il content type "newsletter" aveva un campo noderef associato ai tipi "news" ed "eventi"; in più ogni nodo newsletter aveva i suoi campi "numero" "anno" "data di pubblicazione". va da se che mentre i nodi di tipo evento e news potevano esistere indipendentemente, i nodi newsletter non avevano senso senza i riferimenti agli altri 2.
con views è poi facile visualizzare i dati compositi dei tre tipi di contenuto all'interno dei nodi newsletter

ci avevo pensato ma il problema è l'interfaccia utente che, naturalmente, non devo usare io ma il cliente.

Quindi mi servirebbe poter realizzare qualcosa del tipo

  1. Crea stanza
  2. Aggiungi mobile (da una elenco di qualche tipo)
  3. Aggiungi dettagli mobile (nell'esempio Disponibile, data rientro e codice)
  4. Ripeti dal punto 2 quante volte vuoi
  5. Salva

Con i 3 nodi dovrei fare una cosa di questo tipo

  1. Crea stanza
  2. Crea StanzaMobile
  3. Scegli stanza
  4. Scegli mobile
  5. Aggiungi dettagli mobile
  6. Salva StanzaMobile
  7. Ripeti dal punto 2 creando ogni volta un nuovo nodo
  8. Fine

Decisamente scomodo per un utonto medio, senza contare che per andare ad aggiungere/togliere un mobile dalla stanza dovrebbe creare/cancellare un nuovo nodo.

O ho capito male ?