Ответ 1
Я предполагаю 1.7/2.5 + здесь...
В Joomla! MVC - представление contacts
(ContactViewContacts
, которое extends JView
) автоматически загружает модель contacts
(или в терминологию J! ContactModelContacts
), которая как класс extends JModelList
.
get()
смотрит в представление, чтобы получить данные из зарегистрированной модели или свойства представления.
Итак,
$this->items = $this->get('Items');
на самом деле является вызовом модели ContactModelContacts
, которая имеет в ней getItems()
.
Файл модели com_contact/models/contacts.php
не реализует его собственный getItems()
, поэтому используется getItems()
из класса JModelList
(находится в /libraries/joomla/application/component/modellist.php
).
Это, в свою очередь, вызывает getListQuery()
- нет магии только наследования.
$this->get('Pagination')
делает то же самое, т.е. доступ к реализации в родительских моделях.
$this->get('State')
, вероятно, полностью вернется к реализации JModel
.