Перейти к содержимому


Фотография
- - - - -

Инициализация объекта zoo


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 voland

voland

Отправлено 23 January 2013 - 08:19

Пишу отдельным приложением импорт, всё в принципе работает, но не совсем всё..
$category = $app->object->create('Category');
вызывает
Call to a member function create() on a non-object in /v...rt/models/importedit.php on line 134
Я так понял, что объект не был изначально создан.. код получения $app такой
require_once(JPATH_ADMINISTRATOR.'/components/com_zoo/config.php');
		$zoo = App::getInstance('zoo');
		$apps=$zoo->application->getApplications();
		foreach ($apps as $app) {
			if ($app->getName=="Продуктовый каталог") break;
		}
Как корректно инициализировать данное приложение вне кода zoo?
  • 0

#2 voland

voland

Отправлено 23 January 2013 - 08:31

Отдельным компонентом имелось ввиду, а не приложением
  • 0

#3 SmetDenis

SmetDenis

Отправлено 23 January 2013 - 08:37

Должно работать.

Разве что
в коде ниже вы используете
$zoo = App::getInstance('zoo');
а объект категории создаете  через $app

Честно говоря не знаю, зачем этот хитрый способ создания объектов, если можно упростить
$category = new Category();
$category->app = App::getInstance('zoo'); // этот костыль вообще считаю недоделкой архитектуры от Yootheme
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#4 SmetDenis

SmetDenis

Отправлено 23 January 2013 - 08:41

Вы не путаете ?

$app->object->create('Category');
тут $app - это точка доступа к хелперам, а не приложение.
Тогда уж так
$app->app->object->create('Category');

Кошерно взять объект приложения можно так
$application = App::getInstance()->table->application->get('ID приложения').
перебором и приравниванию к названию - это шибко дико и легко развалится )))


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 voland

voland

Отправлено 23 January 2013 - 08:50

Код заимствую со стандартного импорта,
вариант с $category = new Category(); работает, спасибо.
  • 0




Click to return to top of page in style!