2016-06-01 10 views
0

Dies ist das erste Mal erstellen eine Komponente für Joomla, und ich habe ein paar Probleme zu verstehen, wie bestimmte Dinge funktionieren. Das aktuelle Problem, das ich habe, ist, verschiedene Daten aus meiner Sicht zu bekommen. unter Verwendung von Model-View-Controller einrichtenExtrahieren bestimmter Informationen von einem SQL-Server mit Joomla

ist My-Komponente gebaut, und dies ist der aktuelle Code in Ansicht, dass die Daten bis zu der PHP-Datei bringt, die sie vorführen:

class TimeplanViewTimeplaner extends JViewLegacy 
{ 
    protected $items1; 
    protected $items2; 
    protected $items3; 
    protected $items4; 
    protected $items5; 
    protected $items6; 
    protected $items7; 
    protected $pagination; 
    protected $state; 
    protected $params; 

    public function display($tpl = null) 
    { 
     $app = JFactory::getApplication(); 

     $this->state  = $this->get('State'); 
     $this->items1 = $this->get('Items'); 
     $this->items2 = $this->get('Items'); 
     $this->items3 = $this->get('Items'); 
     $this->items4 = $this->get('Items'); 
     $this->items5 = $this->get('Items'); 
     $this->items6 = $this->get('Items'); 
     $this->items7 = $this->get('Items'); 
     $this->pagination = $this->get('Pagination'); 
     $this->params  = $app->getParams('com_timeplan'); 


     // Check for errors. 
     if (count($errors = $this->get('Errors'))) 
     { 
      throw new Exception(implode("\n", $errors)); 
     } 

     $this->_prepareDocument(); 
     parent::display($tpl); 
    } 
} 

Dies ist nicht der Abschluss Code, aber es ist der Teil, der meiner Meinung nach mein Problem hervorhebt. Ich möchte, dass $ 1 bis 7 verschiedene Treffer erhalten, aber ich muss mich auf $ this-> get ('Items') verlassen, um Daten anzuzeigen. Meine Frage ist wo kann ich den Code finden, der $ this-> get ('Items') mit Daten füttert?

Dies könnte eine grundlegende Frage sein, oder ich muss mehr Code zeigen, aber ich brauche einen Zeiger in die richtige Richtung, um diesen Teil des Codes zu verstehen.

Antwort

0

Ich bin mir nicht sicher, was genau Sie tun müssen, aber jede "Get" -Aktion ist im Modell Ihrer Komponente definiert.

Wenn Sie unterschiedliche Werte für jede der oben genannten Variablen ($items1, $items2, etc ...) haben müssen, dann müssen Sie die Bedingungen Ihrer „get“ Funktion (wie getListQuery Funktion) fügen Sie diese aufzunehmen .

0

Alle Daten werden im Modell generiert. So können Sie die Daten finden, die in Ihrem Modellordner generiert werden. Die Methoden getItems und getPagination sind in der JModelList-Klasse definiert. Auch wenn der Name deiner Ansicht Timeplaner ist, so wird diese standardmäßig geladen, wenn timeplaner.php im Model-Ordner existiert. Überprüfen Sie diesen Link, wie ein MVC-Framework in Joomla https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Introduction funktioniert.