Sto sviluppando i miei primi componenti, ne ho già messi in opera due, con mia grande soddisfazione e imparando tantissimo dal forum.
Fino ad ora è andato tutto liscio perché mi sono sempre limitata a creare una view per ogni singola entità del mio database, adesso però, nel componente a cui sto lavorando ho due delle tabelle,
convenzioni ed
enti, che sono in relazione molti-a-molti: ho creato allora una terza tabella
contraenti (id, id_convenzione, id_ente e importo).
Dal lato admin ho già le classiche view:
convenzioni,
convenzione,
enti,
ente, ma creare delle view per la terza tabella mi sembra un po' farraginoso: l'utente dovrebbe creare la convenzione, creare - se non ci sono ancora - gli enti che la stipulano, creare un nuovo contraente per ogni ente che stipula
quella convenzione.
Mi piacerebbe gestire la cosa direttamente nella view
convenzione: cioè oltre ai dati della convenzione singola (oggetto, edificio, data etc etc da inserire nella table
convenzione) inserire gli
enti che stipulano con il relativo importo (e quindi da inserire nella table
contraenti).
Il problema per me ha due aspetti: la modifica della view e l'aggiornamento del db:
per il primo aspetto, se non dovessi inserire anche un importo per ogni contraente potrei usare una casella di riepilogo a selezione multipla con gli enti in cui selezionare i contraenti, ma invece mi serve una coppia di campi (una combo per l'ente ed una textbox per l'importo) che l'utente possa aggiungere n volte nella form, non sapendo prima quanti enti stipulano la convenzione.
Ho visto qualcosa di simile in virtuemart, dove nella scheda "product status" del singolo prodotto si possono aggiungere
n attributi: cliccando il tasto si aggiunge direttamente nella schermata l'html necessario. Non ne ho mai fatto uso, ma mi pare di capire che si tratti di ajax: è così?
Può essere l'occasione per studiare un po' Ajax, però devo anche capire come fare ad aggiornare più tabelle dalla stessa view: devo chiamare i rispettivi model (
convenzione e
contraente) dalla funzione save del controller di
convenzione, o sto dicendo bestialità??
Per me è un problema nuovo ed ho proprio bisogno di aiuto: temo non esistano classi di joomla che mi servano la pappa pronta. Qualcuno ha già affrontato quest'esigenza? Come avete risolto? Attendo speranzosa suggerimenti... ^_^
ps: non sono sicura che l'oggetto sia chiarissimo, ma non mi è venuto niente di più esplicativo... scusate