Back to top

Autore Topic: Problema mvc  (Letto 1748 volte)

Offline Illuminista

  • Nuovo arrivato
  • *
  • Post: 5
  • Sesso: Maschio
    • Mostra profilo
Problema mvc
« il: 02 Lug 2009, 10:19:05 »
Salve, è molto tempo che vi seguo, e ho deciso di cominciare a sviluppare anche io componenti.
Per cominciare ad approcciare l'MVC e per comprenderlo,ho deciso di modificare il componente del quarto esempio delle 4 guide sull'mvc tradotte da pochissimi giorni dall'utente Vulpiani.

Volevo aggiungere un ulteriore campo raccolto dal database, alla view. Per fare questo ho modificato la view.html.php in questo modo

Codice: [Seleziona]
<?php


jimport
'joomla.application.component.view');


class 
HelloViewHello extends JView
{
function display($tpl null)
{
$saluti $this->get'Saluti' );
$this->assignRef'saluti', $saluti );
parent::display($tpl);
}

function mostra($tpl null)
{
$greeting $this->get'Greeting');
$this->assignRef'greeting'$greeting);
parent::display($tpl);
}
}

il default.php

Codice: [Seleziona]
<?php 
defined
('_JEXEC') or die('Restricted access'); ?>

<h1><?php echo $this->greeting?></h1>

<?php echo $this->greeting?>

<?php echo $this->saluti?>

e hello.php in questo modo

Codice: [Seleziona]
<?php

defined
('_JEXEC') or die( 'Restricted access' );

jimport'joomla.application.component.model' );

class 
HelloModelHello extends JModel
{

function getSaluti()
{
$db =& JFactory::getDBO();

$query 'SELECT saluti FROM #__hello';
$db->setQuery$query );
$saluti $db->loadResult();

return $saluti;

}
function getGreeting()
{
$db =& JFactory::getDBO();

$query 'SELECT greeting FROM #__hello';
$db->setQuery$query );
$greeting $db->loadResult();

return $greeting;
}
}

Ovviamente, nel database esiste già la tabella "saluti" (che "greeting" è quella d'esempio del pacchetto.) L'errore che mi da è il seguente:

Citazione
Notice: Undefined property: HelloViewHello::$greeting in C:\wamp\www\joomla\components\com_hello\views\hello\tmpl\default.php on line 5

come mai mi succede? come posso correggere? Forse mi manca di modificare qualche file?

Grazie per la cortese attenzione

Giovanni
« Ultima modifica: 02 Lug 2009, 10:30:58 da Illuminista »
M'illumino d'immenso!!

Offline Illuminista

  • Nuovo arrivato
  • *
  • Post: 5
  • Sesso: Maschio
    • Mostra profilo
Re:Problema mvc
« Risposta #1 il: 02 Lug 2009, 20:56:08 »
nessuno sa rispondermi?
M'illumino d'immenso!!

Offline copesc

  • Appassionato
  • ***
  • Post: 500
    • Mostra profilo
Re:Problema mvc
« Risposta #2 il: 03 Lug 2009, 15:42:10 »
Perchè la funzione mostra() nella view?

Inserisci le istruzioni


Codice: [Seleziona]
      $greeting = $this->get( 'Greeting');
      $this->assignRef( 'greeting', $greeting);

direttamente nella funzione display(), dovrebbe funzionare.
Extensioni e Template per Joomla

Offline Vulpiani

  • Appassionato
  • ***
  • Post: 360
  • Sesso: Maschio
  • Il mio messaggio è troppo lungo!
    • Mostra profilo
Re:Problema mvc
« Risposta #3 il: 03 Lug 2009, 16:54:46 »
così?

<?php


jimport( 'joomla.application.component.view');


class HelloViewHello extends JView
{
   function display($tpl = null)
   {
      $saluti = $this->get( 'Saluti' );
      $this->assignRef( 'saluti',   $saluti );
      $greeting = $this->get( 'Greeting');
      $this->assignRef( 'greeting', $greeting);
      parent::display($tpl);
   }
}
Quando tutto salta
Bisogna fermarlo
con una morsa (mia)

Offline Illuminista

  • Nuovo arrivato
  • *
  • Post: 5
  • Sesso: Maschio
    • Mostra profilo
Re:Problema mvc
« Risposta #4 il: 03 Lug 2009, 20:06:39 »
Si! Grazie Vulpiani e Codesc, gentilissimi! Ora funziona tutto benissimo :D
M'illumino d'immenso!!

 



Web Design Bolzano Kreatif