it-swarm-es.tech

¿Cuál es el propósito de $ this-> get ('Item') en el archivo de ejemplo Joomla view.html.php?

Me refiero al siguiente código, presentado en Desarrollo de un componente MVC - Ejemplo de función de front-end :

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);
    }

}

No entiendo el propósito de esta declaración y también noto que $item no aparece en el código del archivo site/views/updhelloworld/tmpl/default.php en esa página web.

De hecho, tengo la misma pregunta para view.html.php archivo de com_users/views/registration del código Joomla 3 (pensé que al comparar los dos ejemplos de envío de formularios podría responder mi pregunta):

    $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');

Y también aquí $this->data no aparece en el relacionado tmpl/default.php archivo (?)

6
Joppo

En las clases que extienden JView o JViewLegacy, una llamada a $this->get() llamará a una función en clases de modelo registradas que comienzan con get. Entonces llamar a $this->get('Item') llamará al método getItem de un modelo.

5
Michael

$this->get('Item') llama a la función getItem() en el modelo, y posteriormente carga los datos de la base de datos.

$this->get('Data') llama a un método en el modelo que obtiene los datos del formulario de registro y los prepara para su uso.

Echa un vistazo a getData en com_users/models/registration.php

3
patterncatcher