Форум русской поддержки Joomla!® CMS
16.08.2017, 19:30:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Переопределение getItems()

 (Прочитано 318 раз)
0 Пользователей и 1 Гость смотрят эту тему.
denism300
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 134


« : 06.12.2016, 13:44:56 »

Понадобилось переопределить стандартный getItems(), сделал это так:
в модели функцию getListQuery() заменил на:
Код
public function getMyItems(){
тут код запроса к БД, и дальнейшая обработка данных
return $items;
}

в файле view.html.php
Код
public function display($tpl = null) {
       try {
           // Получаем данные из модели.
           $this->items = $this->get('MyItems');
}
}
в Joomla получаю такую ошибку:
Цитировать
Ошибка

SQL=

при этом, код запроса к БД верный - выводил результирующий код с помощью echo $query->dump(); и проверял его в phpMyAdmin
print_r($items); так же возвращает корректный список объектов
Записан
b2z
Support Team
*****

Репутация: +739/-0
Offline Offline

Пол: Мужской
Сообщений: 7740


Разраблю понемногу


« Ответ #1 : 06.12.2016, 13:52:22 »

В своём компоненте?
Записан
robert
Профи
********

Репутация: +384/-15
Offline Offline

Пол: Мужской
Сообщений: 4213


« Ответ #2 : 06.12.2016, 13:53:30 »

Если нужно переопределить функцию getItems(), то переопределите ее. Зачем вы убрали getListQuery() и добавили getMyItems()? И вообще каков код getMyItems() и что она возвращает?

P.S. Полагаю, что ваш класс наследуется от JModelList(). Это значит, что он может использовать метод getItems() своего родителя, если у него нет собственного. Сделайте ему собственный метод getItems().
« Последнее редактирование: 06.12.2016, 14:37:18 от robert » Записан
b2z
Support Team
*****

Репутация: +739/-0
Offline Offline

Пол: Мужской
Сообщений: 7740


Разраблю понемногу


« Ответ #3 : 06.12.2016, 14:00:41 »

Если нужно переопределить функцию getItems(), то переопределите ее. Зачем вы убрали getListQuery() и добавили getMyItems()? И вообще каков код getMyItems() и что она возвращает?
О чём и речь - если это свой компонент, то какое-то колесо изобретено Azn
Записан
denism300
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 134


« Ответ #4 : 06.12.2016, 15:13:01 »

В своём компоненте?
да, в своем

пример подсмотрел тут
Записан
denism300
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 134


« Ответ #5 : 06.12.2016, 15:14:17 »

Если нужно переопределить функцию getItems(), то переопределите ее. Зачем вы убрали getListQuery() и добавили getMyItems()? И вообще каков код getMyItems() и что она возвращает?

P.S. Полагаю, что ваш класс наследуется от JModelList(). Это значит, что он может использовать метод getItems() своего родителя, если у него нет собственного. Сделайте ему собственный метод getItems().
возвращает объект
наследуется от JModelList()
Записан
denism300
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 134


« Ответ #6 : 06.12.2016, 15:37:32 »

все, разобрался. всем спасибо!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet