Back to top

Autore Topic: inserimento dati e debug in joomla  (Letto 1280 volte)

Offline tavvolley

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
inserimento dati e debug in joomla
« il: 23 Mar 2010, 13:16:36 »
salve a tutti!! vorrei finire il mio primo componente. Ho fatto una nuova registrazione inserendo dei nuovi campi. Per la realizzazione ho seguito il tutorial del mvc.
ora i campi inseriti dall'utente andranno all'interno di due tabelle differenti!!
per quanto riguarda il riempimento della prima tabella non ci sono stati problemi mentre per quanto riguarda la seconda sto trovando diversi problemi.
nel backend ho inserito il tutto nella funzione store() del mio model!
Esattamente faccio questo:
mi prendo le tabelle con
Codice: [Seleziona]
$rowProfessor =& $this->getTable('professor');
$rowUser =& $this->getTable('user');
come si fa il bind?
nel tutorial diceva
Codice: [Seleziona]
$data = JRequest::get('post');e poi faceva
if(!$rowUser->bind($data))...
in questo caso il mio $data contiene più dati di quanti ne devo inserire nella tabella user; visto che $data è solo un array l'ho copiato in un array temporaneo e levato gli elementi che non mi servivano (perchè se facevo il bind() con quello completo non mi funzionava). Così sono riuscito ad aggiungere un user. Ora vorrei completare la registrazione insendo gli altri campi in professor
ho rifatto la stessa cosa per professor ma la funzione store mi fa problemi.
-ci sono molte cose strane che non vanno!! prima cosa gli output di joomla dove vanno a finire?? se l'operazione va buon fine joomla mi mostra la pagina creata e prima dei tasti o dei campi mi visualizza tutti gli echo che ha passato, quindi prima quelli della pagina iniziale poi del componet, poi quelli view poi del model e infine quelli del default o della pagina finale che realizza la view. quando salvo un nuovo utente me ne visualizza solo alcuni eppure io sono sicuro che entra nella funzione store in quanto (se commento la parte del professor) registra il dato sul database ma non visualizza nessun echo. esce solo la scritta "Registrazione avvenuta con succeso!!" (scritta inserita nel controller alla funzione save con il  seguente codice
Codice: [Seleziona]
$msg = JText::_('Registrazione avvenuta con succeso!!'); ) e alcuni output quelli di quando si ricarica una pagina,in quanto a fine save nel controller ho inserito  setRedirect(). Gli output visualizzati sono: pagina di ingresso, controller, model di base, view di base e dafault e non mi visualizza quelli contenuti nella funzione store() del mio model che vorrei vedere :-(. Sono tutti quelli dopo la redirect e quelli prima che fine hanno fatto???????
-ho provato con il debug ma prima mi funzionava bene. In un seconda fase non mi faceva vedere il valore delle variabili, ma si fermava solo ai breack point e dovevo stoppare il debug per vedere gli output inseriti da me. ora le cose sono peggiorate :-( non so perchè mi fa un errore e si blocca quasi subito!!
io sviluppo con eclipse e la guida utilizzata nella configurazione è:
http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development
unica differenza non ho utilizzato xampp, ma ho installato tutto manualmente.
Spero di essere stato chiaro nella spiegazione
Per favore se qualcuno potrebbe aiutarmi sto impazzendo quasi quasi inizio a rimpiangere il bel vecchio .net :'(!!!
« Ultima modifica: 23 Mar 2010, 13:23:54 da tavvolley »

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:inserimento dati e debug in joomla
« Risposta #1 il: 23 Mar 2010, 13:59:09 »
ciao, magari se alleghi una file di tutto il componente ti si aiuta anche meglio, non credi?
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:inserimento dati e debug in joomla
« Risposta #2 il: 25 Mar 2010, 09:36:25 »
ciao tavvolley,
  non è facile conoscere tutto di joomla...
per prima cosa bind() accetta due parametri: l'array associativo dei valori da caricare nel record e l'array delle chiavi da ignorare (può essere anche una stringa di valori separati da spazi)....
ovviamente le key del primo array devono corrispondere ai fields della tabella: se non funzionava è probabile che l'errore sia qui.

per quanto riguarda il flusso dei dati lo trovi sulla documentazione, non ricordo dove ma lo trovi: tieni presente che tutto l'output di joomla viene inserito in un buffer che solo alla fine viene inviato al browser (come in .net)

sul debug invece non so come aiutarti... da qui è impossibile capire ove sia il problema.

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

 



Web Design Bolzano Kreatif