org open online php html joomla content-management-system

php - open - joomla wikipedia



Joomla get(''Items'') y como funciona (1)

Estoy suponiendo 1.7 / 2.5 + aquí ...

En el MVC de Joomla! La vista de contacts ( ContactViewContacts que extends JView ) carga automáticamente los contacts modelo (o en la terminología J! ContactModelContacts ) que como clase extends JModelList .

El get() busca en la vista para obtener datos de un modelo registrado o una propiedad de la vista.

Asi que;

$this->items = $this->get(''Items'');

es en realidad una llamada al modelo ContactModelContacts que tiene un getItems() coincidente en su parent .

El archivo de modelo com_contact/models/contacts.php no implementa sus propios getItems() , por lo que se getItems() de la clase JModelList (se encuentra en /libraries/joomla/application/component/modellist.php ).

Esto, a su vez, llama a getListQuery() - no es magia, simplemente herencia.

El $this->get(''Pagination'') está haciendo lo mismo, es decir. Accediendo a la implementación en los modelos padre.

El $this->get(''State'') está probablemente regresando a la implementación de JModel .

Estoy mirando la línea 34 de /administrator/components/com_contact/views/contacts/view.html.php donde dice $this->items = $this->get(''Items''); Lo que no entiendo es cómo está llamando a la protected function getListQuery() en la línea 123 de /administrator/components/com_contact/models/contacts.php

También hay algunas otras cosas que no entiendo cómo funcionan ... como

$this->pagination = $this->get(''Pagination''); $this->state = $this->get(''State'');

¿Cuáles son estas llamadas? Miré la documentación de "get ()" pero no dice a qué llaman en realidad porque no veo ningún método llamado getPagination, getState o getItems ... Parece que get (''Items'') es de alguna manera Llamando mágicamente a getListQuery ().