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

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Call to a member function setQuery() on a non-object in.....  (Прочитано 2789 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Gold Dragon
Moderator
*****

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

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



« : 10.04.2010, 21:04:21 »

я так понимаю эта ошибка из-за другого обращения к базе?
 скачал последнюю версию Joostina 1.3.1 beta 1.05:04:2010 01:43
видел эту ошибку в JComments... вроде поправил.. Сейчас нашёл в jce.php

это только отладка? или просто забыли? Azn И вообще, что поменялось?
Записан
Gold Dragon
Moderator
*****

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

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



« Ответ #1 : 10.04.2010, 21:08:39 »

может всё таки оставить для "переходных и подгоняемых" компонентов глобальную $database Azn
Записан
smart
Администратор
*******

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

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


тружусь даже во сне...


« Ответ #2 : 10.04.2010, 21:10:26 »

Я думаю более логичным, вместо глобальной переменной $database, реализовать класс JFactory, с методами getDBO, getUser и т.д. Ибо сами по себе глобальные переменные - зло.
Записан
Gold Dragon
Moderator
*****

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

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



« Ответ #3 : 10.04.2010, 21:16:53 »

согласен что нужно хотя бы "имена" оставлять Azn
пока везде где вылетает такая ошибка заменяю
Код:
global $database;
на
Код:
global $mainframe;
$database = $mainframe->_db;
может и не совсем правильно, но зато работает.. Azn
Записан
Nextdrift
Осваиваюсь на форуме
***

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

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


Я за Joostin'у !


« Ответ #4 : 10.04.2010, 23:57:15 »

С ads такое не прокатывает Sad Sad Sad
Записан
Gold Dragon
Moderator
*****

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

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



« Ответ #5 : 11.04.2010, 00:24:03 »

там есть ещё одна тонкость.. если честно, я не не понял "прикол", но в одном модуле заменил "&$..." на "$..." и заработало Azn
Записан
boston
Moderator
*****

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

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



« Ответ #6 : 13.04.2010, 11:53:21 »

$database = database::getInstance();
Записан
smart
Администратор
*******

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

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


тружусь даже во сне...


« Ответ #7 : 13.04.2010, 11:56:34 »

$database = database::getInstance();
это конечно круто, но старые расширения без этой строчки работать не будут...
Записан
userxp
Администратор
*******

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

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


Злой и ужасный бармалей


« Ответ #8 : 13.04.2010, 12:24:01 »

$database = & database::getInstance();
Записан
boston
Moderator
*****

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

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



« Ответ #9 : 13.04.2010, 12:25:26 »

тогда в первых строках joostina.php

$database = database::getInstance(); и переменная вернётся в глобальную мусорку )

Записан
EzPresso
Захожу иногда
**

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

Сообщений: 8


« Ответ #10 : 25.04.2010, 22:47:42 »

Уже писал свое предложение в другой теме. Может быть стоит создать специальный файлик с именем вроде legacy.php в который перенести создание/инициализацию глобальных переменных, необходимых для работы старых модулей/мамботов/компонентов. Тогда для работы старого компонента достаточно будет подключить этот файл, при этом компоненты специально для Joostinы будут пользоваться Joostinовскими-же методами доступа к db и т.п.

С одной стороны, конечно, нужно создавать спец. компоненты для Joostina. С другой стороны было бы хорошо иметь и кросс-CMSные компоненты, которые будут работать и в Joomla тоже. Что скажете?

P.S. Кстати, кроме $database что еще требуется для сохранения совместимости с Joomla?
Записан
Nextdrift
Осваиваюсь на форуме
***

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

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


Я за Joostin'у !


« Ответ #11 : 25.04.2010, 23:18:07 »

Уже писал свое предложение в другой теме. Может быть стоит создать специальный файлик с именем вроде legacy.php в который перенести создание/инициализацию глобальных переменных, необходимых для работы старых модулей/мамботов/компонентов. Тогда для работы старого компонента достаточно будет подключить этот файл, при этом компоненты специально для Joostinы будут пользоваться Joostinовскими-же методами доступа к db и т.п.

С одной стороны, конечно, нужно создавать спец. компоненты для Joostina. С другой стороны было бы хорошо иметь и кросс-CMSные компоненты, которые будут работать и в Joomla тоже. Что скажете?
Это интересно )))))
Записан
boston
Moderator
*****

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

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



« Ответ #12 : 26.04.2010, 12:48:00 »

В Joostina 1.3.0-(1,2) все глобальные переменные возвращены в глобальное пространство.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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