2010-08-24 13 views
6

Mi piacerebbe gestire un orario utilizzando Drupal 6, ci sono diversi pezzi di equipaggiamento su cui un amministratore distribuisce le persone che usano l'attrezzatura.Orario modificabile con Drupal

In sostanza, voglio un tavolo di equipaggiamento rispetto al giorno della settimana. Il piano mostra l'occupazione di tutte le attrezzature per l'intera settimana.

Ciò che rende più complicato è che la modifica dell'orario dovrebbe essere molto facile e veloce. Di solito le persone hanno l'attrezzatura per più giorni, quindi dovrebbe essere possibile ad es. trascinare una voce e riempire più giorni in questo modo. Mi piacerebbe anche avere una selezione di persone visibili che si possa trascinare sull'orario e riempirlo in quel modo. Presumo si può farlo con javascript, ma non ho esperienza con questo.

  • E 'possibile creare qualcosa così con il Drupal Forms API?

  • Eventuali puntatori/esempi per il che trascina javascript?

  • Oppure esiste un software esistente o il modulo Drupal che può farlo?

risposta

3

Ho trovato un bel javascript example for drag and drop in a timetable, dovrebbe essere possibile adattarlo per il mio caso. Dovrò solo capire come integrarlo al meglio con Drupal.

Edit:

Lo script ho accennato in cima la risposta non ha funzionato nella mia installazione di Drupal così sono passato a jQuery UI.

L'ho implementato ora come modulo Drupal personalizzato che utilizza l'interfaccia utente JQuery per trascinare la funzionalità di rilascio &. Ho abilitato Trascinare & Drop per una tabella HTML, per salvare l'orario gli elementi della tabella vengono letti tramite Javascript e quindi inviati al mio modulo Drupal personalizzato usando ajax.

+0

È possibile utilizzare ahah per ottenere dinamicamente una sorta di sotto-forme, con 3 campi (data, apparecchiatura, utente), quindi associare un elemento trascinabile a ogni sotto-modulo. Ogni elemento trascinabile può avere un pulsante su di esso che apre un div "pop-up" contenente i widget di campo per consentire di modificare i valori di equipaggiamento/utente. La data dovrebbe essere nascosta e impostata da javascript drag-n-drop. Assicurati di utilizzare #default_value al posto di #value. – redShadow

0

L'apparecchiatura non può essere un tipo di contenuto e ha proprietà diverse come descritto? Quindi puoi inserire ogni pezzo di equipaggiamento come nodo. Questo ti farà risparmiare un sacco di tempo rispetto a renderlo con l'API del modulo.

CCK

TableField CCK

0

Perché non utilizzare il modulo Event? Fondamentalmente, ti dà un tipo di nodo Evento. Quindi una vista può generare la pagina del calendario di tutti i nodi.

+0

Il problema non sta visualizzando il tavolo, ma facilmente modificarlo. Uno dovrebbe essere in grado di modificare ogni giorno di una settimana per ogni pezzo di equipaggiamento contemporaneamente in una pagina. –

0

Non sono esattamente sicuro che il modulo MERCI abbia tutte le funzionalità desiderate. Ho fatto alcuni test e sembra abbastanza buono, funziona ancora meglio. È comunque disponibile solo nella versione preliminare di aplpha 5, ma dovrebbe fare il suo lavoro.

Da trascinare. Non dovrebbe essere così difficile migliorare i moduli usando JQuery come suggerito da @Fabian.

2

A Fields drupal 7 modulo che crea un campo di orario che può essere visualizzato attraverso una bella griglia settimanale.Può essere utilizzato per visualizzare gli orari di apertura o di ore di lavoro in un modo molto ordinato:

http://drupal.org/project/field_timetable