Joomla.it Forum
Non solo Joomla... => Sviluppo => : joored 28 Jun 2017, 13:17:12
-
Ciao a tutti,
sto lavorando ad un nuovo componente e si verifica uno strano errore.
Quando modifico un articolo già salvato e clikko su salva e chiudi,
incece di salvarmi la modifica mi salva un nuovo articolo.
Quale potrebbe essere la causa di questo errore?
Qualcuno sa darmi qualche dritta?
Grazie
-
Non passi al model l'id dell'articolo. Se joomla non trova un id da aggiornare, crea un nuovo item
-
Grazie della tua risposta.
Ma da dove lo devo passare l'ID?
-
Io penso di passarlo l'ID dal controller
protected function _postSaveHook($model, $validData = array())
{
$isNew = $model->getState('program.new');
$id = $model->getState('program.pro_id');
Dove sbaglio?
-
Ed è valorizzato? Mettici un die($id); subito dopo
-
..scusa ma cosa centra il postsavehook?
se usi correttamente il crud non devi mettere nessun id perchè sei in edit
-
Grazie ragazzi per il vostro aiuto ... ma sono in alto mare.
Potete essere più chiari?
Ho provato con il suggerimento di Giovi e mi da errore: "undefined index".
-
Ok ho risolto.
Ho rinominato il campo "pro_id" in "id" e miracolosamente ha funzionato. Ora mi aggiorna correttamente senza aggiungere un nuovo record.
Purtroppo però non me lo pubblica in automatico quando salvo. Non so perché.
-
perchè mancherà il pezzo di codice che valorizza a 1 il campo published o status nn ricordo. Ovviamente devi scrivere tutte le condizionali altrimenti tutto ciò che viene modificato assume lo stato di pubblicato.
... ma hai riscritto il com content?
-
No, Salvini, non ho riscritto il com content. Sto lavorando su un mio componente. E per mia scelta il campo l'avevo chiamato pro_id invece che id.
Ora funziona: salva e aggiorna correttamente.
Ma come dicevo non mi mette in automatico lo stato "pubblicato".
Non so dove sbaglio.
-
ma l'articolo era pubblicato prima della modifica? Vuol dire che non gli passi quel valore ...
Lo vuoi pubblicare in automatico? vale quanto detto sopra. Lo puoi fare anche nella tables
PS. Guarda nel model se lo estrai e lo assegni a qualcosa. nella view di edit hai il bottone per modificare lo stato?