Back to top

Autore Topic: Richiamo funzione e errore 0 Call to undefined method  (Letto 2170 volte)

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Ciao a tutti,
ho creato (con non poca fatica :D) il mio primo componente!
Funziona! Evvivaaaa....


Però....


Ora sto provando a farlo "ragionare" inserendo, chiaramente, istruzioni meno basilari.
In pratica,  ho bisogno di tirare fuori dalla tabella del db dei valori.


Quindi, nel mio file models/componente.php richiamo la class e definisco la funzione in questo modo:


Codice: [Seleziona]

class Variabili extends JModelLegacy
{
function estraivariabili()
{



// Get a db connection.
        $db = JFactory::getDbo();


       
        $query = $db->getQuery(true);


     
        $query
            //->select('*')
            ->select($db->quoteName(array('id', 'aliquota1', 'aliquota2', 'aliquota3', 'aliquota4', 'aliquota5')))
            ->from($db->quoteName('#__calcolo_imposte'))
            ->where('id = 1');           




       
        $db->setQuery($query);

return $db->loadObjectList();
     

}
}


nel mio file default.php nella view, ho inserito il seguente codice:


Codice: [Seleziona]

$model=$this->Variabili();


$items=$model->estraivariabili();


print_r($items);


Il risultato è : 0 Call to undefined method Calcolo_imposteViewCalcoloonline::Variabili()


Mi aiutate a capire per favore? :D
Grazie mille!!

Andrea
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #1 il: 10 Apr 2020, 09:40:00 »
prova ed elabora questo:nel model
Codice: [Seleziona]
protected function getListQuery()
    {
        // Get the current user for authorisation checks
        $this->user = JFactory::getUser();
        $this->userId = $this->user->get('id');
        $this->guest = $this->user->get('guest');
        $this->groups = $this->user->get('groups');
        $this->authorisedGroups = $this->user->getAuthorisedGroups();
        $this->levels = $this->user->getAuthorisedViewLevels();
        $this->app = JFactory::getApplication();
        $this->input = $this->app->input;
        $this->initSet = true;
        // Make sure all records load, since no pagination allowed.
        $this->setState('list.limit', 0);
        // Get a db connection.
$query = $db->getQuery(true);

// Get from #__calcolo_imposte as a
$query->select($db->quoteName(
    array('a.id','a.asset_id','a.aliquota1','a.aliquota2','a.aliquota3','a.published','a.created_by','a.modified_by','a.created','a.modified','a.version','a.hits','a.ordering'),
    array('id','asset_id','aliquota1','aliquota2','aliquota3','published','created_by','modified_by','created','modified','version','hits','ordering')));
$query->from($db->quoteName('#__calcolo_imposte', 'a'));
// Get where a.published is 1
    $query->where('a.published = 1');
// return the query object
    return $query;
}
nella vista:
Codice: [Seleziona]
<?php foreach ($this->items as $item): ?>
<?php echo $item->aliquota1?>
<?php echo $item->aliquota2?>
<?php echo $item->aliquota3?>

<?php endforeach; ?>

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #2 il: 11 Apr 2020, 18:47:25 »
Ora provo e ti dico.
Cmq non mi è ancora chiaro come lavorare con il controller.

Ad esempio:
Ho creato un semlice form dove metto due campi:


1 ) Importo


2) Giorni


In base all'importo e hai giorni, coglio far uscire un risultato.


Ora, la maschera del forma sta nella view.
Per richiamare i dati, invio il form nella action a ?calcolo, quindi ricaricando la stessa pagina.

Chiamo la funzione calcolo(); che mi fa il seguente ragionamento
Codice: [Seleziona]
public function Calcolo()
{
If ($importo >= 1 or <= 100) { $ris = 50; } else { $ris = 10;}
}

Chiaramente è un esempio, ma non ho capito come fare a visualizzare e a riportare nella view la variabile $ris.

Se provo a stamparla cosi com'è mi esce l'errore che la variabile non è definita.


"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #3 il: 11 Apr 2020, 19:56:08 »
Hai usato quel componente che ti avevo consigliato? Ci sono molti esempi di componenti realizzati con esso da cui prendere spunto. Con quello potrei aiutarti visto che lo conosco  e ci sto costruendo le mie applicazioni.

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #4 il: 11 Apr 2020, 23:43:04 »
Sinceramente no, perché non sono riuscito a creare nemmeno un componente :(
Ma la logica non dovrebbe essere uguale per tutti?  :-\
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #5 il: 12 Apr 2020, 09:38:33 »
Citazione
ma non ho capito come fare a visualizzare e a riportare nella view la variabile $ris.
Scusa ma tu dove la dichiari questa variabile $ris?

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #6 il: 12 Apr 2020, 23:56:41 »
nel controller dopo che invio un form.
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Richiamo funzione e errore 0 Call to undefined method
« Risposta #7 il: 13 Apr 2020, 10:11:43 »
Il fatto è che gli strumenti da soli non bastano, bisogna avere anche un minimo di conoscenza e dedicare del tempo per capire. Io mi sforzo e dedico molto tempo, quando ne ho in avanzo, a capire le basi della programmaione e non avendo una preparazione specifica, ho studiato altro, spulcio fra gli esempi e sulle altre applicazioni per capire quale metodo utilizzare e come adattarlo alle mie esigenze, oltre che leggere e rileggere la ampia documentazione, e ovviamente rivolgermi anche quì nel forum.Ecco perché ti avevo consigliato il costruttore di componenti Joomla Component Builder, neanche io sono riuscito a creare subito la mia applicazione, ci ho perso tempo, ho studiato, ho visto i tutorial, ho modificato qualche demo e ad ogni errore ho cercato e ricercato fino a risolverlo, mi mancano ancora molti passi per finire ma pian piano sto raggiungendo il traguardo.
Sarei lieto di aiutarti magari se puoi illustrarmi il tuo componente, quì (preferibile) o anche in privato, proverei a implementarlo nel costruttore affinchè poi tu poi possa personalizzarlo come ti serve.Ma ti avverto che non sarà una passegiata.

 



Web Design Bolzano Kreatif