Back to top

Autore Topic: Errore sviluppo componente (RISOLTO)  (Letto 2357 volte)

Offline GigiBuffon

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
Errore sviluppo componente (RISOLTO)
« il: 19 Nov 2008, 16:49:17 »
Buon pomeriggio a tutti

Da poco stò seguendo una guida per lo sviluppo di un componente per Joomla 1.5, sono arrivato al punto dove inserisco la Funzione Salva:

function saveReview( $option )
{
global $mainframe;
$row =& JTable::getInstance('review', 'Table');
$post   = JRequest::get( $post );
if (!$row->bind( $post ))
{
echo "<script> alert('".$row->getError()."');
window.history.go(-1); </script>\n";
exit();
}
$row->quicktake = JRequest::getVar( 'quicktake', '', 'post',
'string', JREQUEST_ALLOWRAW );
$row->review = JRequest::getVar( 'review', '', 'post',
'string', JREQUEST_ALLOWRAW );
if(!$row->review_date)
$row->review_date = date( 'Y-m-d H:i:s' );
if (!$row->store())
{
echo "<script> alert('".$row->getError()."');
window.history.go(-1); </script>\n";
exit();
}
$mainframe->redirect('index.php?option=' .
$option, 'Review Saved');
}


solo che quando lo vado a provare mi dà il seguente errore:

Fatal error: Call to a member function bind() on a non-object in C:\wamp\www\test\administrator\components\com_reviews\admin.reviews.php on line 44


Qualcuno saprebbe indicarmi la soluzione?

Grazie mille
« Ultima modifica: 20 Nov 2008, 18:24:46 da GigiBuffon »

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Errore sviluppo componente
« Risposta #1 il: 20 Nov 2008, 14:11:19 »
Dice che row non è un oggetto...sicuro di averla dichiarata?

Offline GigiBuffon

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
Re: Errore sviluppo componente
« Risposta #2 il: 20 Nov 2008, 14:46:52 »
Grazie mille per la risposta, comunque scusa la mia ignoranza, ma row non la dichiaro in questa parte di codice:

$row =& JTable::getInstance('review', 'Table');

 ??? ???

grazie ancora

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Errore sviluppo componente
« Risposta #3 il: 20 Nov 2008, 14:50:04 »
ahi ahi no mi sono espresso male, tu dichiari la variabile $row, e qui nessuno ci mette becco, ma una variabile è una cosa, un oggetto un altra.

Tu stai chiamando dei metodi ( ->bind ) per una variabile ( $row ) e non per un oggetto, che deve, bene o male, essere "inizializzato" con:

Codice: [Seleziona]
$row = new nomeClasse
Normalmente Joomla dichiara nuovi oggetti di suo, grazie al framework MVC tante cose sono già fatte, sta solo a te vedere come è chiamato l'oggetto in questione  ;)

Guarda come salvare senza troppe complicazioni:

Codice: [Seleziona]
function save()
{
$model = $this->getModel('model_mio_componente');

if ($model->store($post)) {
$msg = JText::_( 'Project saved!' );
} else {
$msg = JText::_( 'Error saving project' );
}


$link = 'index.php?option=com_mio_componente';
$this->setRedirect($link, $msg);
}

capit?
« Ultima modifica: 20 Nov 2008, 14:51:56 da = odino = »

Offline GigiBuffon

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
Re: Errore sviluppo componente
« Risposta #4 il: 20 Nov 2008, 16:47:30 »
Si, ho capito cosa dici,solo che non sò metterlo in atto  ;D.
Il fatto è che ho lasciato perdere quella guida, e utilizzando quella presente su: http://www.copesflavio.com/blog/cms/joomla/tutorial-creare-un-componente-per-joomla-15/

mi dà lo stesso identico errore. Allora mi chiedo perchè mettono online queste guide se poi non funzionano?

Grazie comunque per il supporto, spero di trovare qualche esempio funzionante.

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Errore sviluppo componente
« Risposta #5 il: 20 Nov 2008, 17:18:36 »
quello di flavio funziona benissimo, guarda qui

Offline GigiBuffon

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
Re: Errore sviluppo componente (RISOLTO)
« Risposta #6 il: 20 Nov 2008, 18:27:36 »
Si, ho rifatto il tutto e ho scaricato il codice completo, e ho notato che avevo creato la cartella Tables nella directory sbagliata... chiedo scusa per la superficialità, e ne approfitto per fare i complimenti a Flavio (grazie mi sei stato davvero di grande aiuto).

 



Web Design Bolzano Kreatif