it-swarm.com.de

Was ist der Zweck von $ this-> get ('Item') in der Beispieldatei Joomla view.html.php?

Ich verweise auf den folgenden Code, der in Entwickeln einer MVC-Komponente - Beispiel für eine Front-End-Funktion dargestellt ist:

class HelloWorldViewUpdHelloWorld extends JView
{
    // Overwriting JView display method
    function display($tpl = null) 
    {
            $app            = JFactory::getApplication();
            $params         = $app->getParams();
            $dispatcher = JDispatcher::getInstance();

            // Get some data from the models
            $state          = $this->get('State');
            $item           = $this->get('Item');  //WHAT IS THE PURPOSE OF THIS STATEMENT?
            $this->form     = $this->get('Form');

            // Check for errors.
            if (count($errors = $this->get('Errors'))) 
            {
                    JError::raiseError(500, implode('<br />', $errors));
                    return false;
            }
            // Display the view
            parent::display($tpl);
    }

}

Ich verstehe den Zweck dieser Aussage nicht und bemerke auch, dass $item erscheint nicht im Code in der Datei site/views/updhelloworld/tmpl/default.php auf dieser Webseite.

Ich habe tatsächlich die gleiche Frage für die view.html.php Datei von com_users/views/registration von Joomla 3 Code (Ich dachte, durch den Vergleich der beiden Formulare Submit-Beispiele könnte ich meine Frage beantworten):

    $this->data     = $this->get('Data'); //WHAT IS THE PURPOSE OF THIS STATEMENT? WHAT PRECISELY KIND OF DATA iS MEANT HERE?
    $this->form     = $this->get('Form');
    $this->state    = $this->get('State');
    $this->params   = $this->state->get('params');

Und auch hier $this->data erscheint nicht im zugehörigen tmpl/default.php Datei (?)

6
Joppo

In Klassen, die JView oder JViewLegacy erweitern, ruft ein Aufruf von $this->get() eine Funktion in registrierten Modellklassen auf, die mit get beginnen. Wenn Sie also $this->get('Item') aufrufen, wird die Methode getItem eines Modells aufgerufen.

5
Michael

Das $this->get('Item') ruft die Funktion getItem() im Modell auf und lädt anschließend die Daten aus der Datenbank.

$this->get('Data') ruft eine Methode im Modell auf, die die Registrierungsformulardaten abruft und für die Verwendung vorbereitet.

Schauen Sie sich getData in com_users/models/registration.php

3
patterncatcher