Back to top

Autore Topic: [RISOLTO] Implementare il salva e ritorna (o apply)  (Letto 1635 volte)

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
[RISOLTO] Implementare il salva e ritorna (o apply)
« il: 16 Set 2010, 20:38:32 »
Salve a tutti, mi sembra di essermi perso in un bicchiere d'acqua e non riesco a venirne fuori.

Volevo sapere come posso fare per inserire il task "apply".
Teoricamente dopo aver salvato il record dovrei fare la load per mostrare nuovamente i dati.
Questa cosa è semplice se sto modificando un record già esistente, ma come faccio nel caso in cui sto inserendo un record nuovo?

l'id non è stato ancora assegnato, potrei prenderlo con la funzione $db->insertid() , ma non mi sento molto sicuro perchè qualcosa potrebbe essere inserito nel mentre...

qualche suggerimento?
come al solito, grazie in anticipo :D
« Ultima modifica: 17 Set 2010, 01:11:00 da tampe125 »
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Implementare il salva e ritorna (o apply)
« Risposta #1 il: 16 Set 2010, 22:42:44 »
ciao!
 quando richiami il metodo store() della classe derivata da Jtable, il framework decide autonomamente se si tratta un update o di una insert.
la decisione è presa sulla base del valore della proprietà che rappresenta la primary key che è passata al costruttore della citata classe. in caso di insert (primaryKey==0) il framework provvede ad aggiornarne il valore sì che possa essere usato da riferimento.

pertanto, premesso che i task apply e save verranno gestiti dal medesimo metodo (convenzionalmente save nel controller, store nel model) in coda allo stesso (in esempio il model) avrai:

Codice: [Seleziona]
$row =& $this->getTable();
....
$row->store(); // ovviamente mettici il controllo dell'operazione
....
switch ($task){
case 'apply':
$link = 'index.php?option=com_ilmiocomponente&task=edit&cid[]='. $row->tuaPrimaryKey ;
break;

case 'save':
default:
$link = 'index.php?option=com_ilmiocomponente';
break;
}

$this->setRedirect( $link, JText::_( 'Item Saved' ) );
....

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:Implementare il salva e ritorna (o apply)
« Risposta #2 il: 17 Set 2010, 00:18:50 »
grazie mille!
come volevasi dimostrare, era proprio un bicchere d'acqua :D
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Implementare il salva e ritorna (o apply)
« Risposta #3 il: 17 Set 2010, 00:44:09 »
azz!
Full Member e ti devo ancora dire:
ricordati il [RISOLTO] nel titolo del post di apertura del topic!
 ;D ;D

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline tampe125

  • Appassionato
  • ***
  • Post: 366
    • Mostra profilo
Re:Implementare il salva e ritorna (o apply)
« Risposta #4 il: 17 Set 2010, 01:10:41 »
tzè e sennò come fate a mantenervi in forma?
e poi non lo sai che io sono n00b inside?

ps ho visto in un forum (quello di sobi mi sembra) che hanno aggiunto un bottone apposta: mette il titolo risolto e scrive nel primo post in quale post si è avuta la soluzione.
se non è troppo complicato forse sarebbe utile anche qua
www.fabbricabinaria.it
Soluzioni originali ad esigenze quotidiane

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO] Implementare il salva e ritorna (o apply)
« Risposta #5 il: 17 Set 2010, 01:20:00 »
Citazione
tzè e sennò come fate a mantenervi in forma?
mai sentito  parlare di mountain bike?  :P
mi sono giusto comprato quella nuova oggi!  ;D ;D

per il resto passo la patata, bollente come al solito, ad alexred!

'notte,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif