Ошибка при использовании расширений от zoolanders
#1
Отправлено 06 May 2012 - 17:54
/administrator/components/com_zoo\controllers\zlframework.php): failed to open stream: No such file or directory in /media/zoo/applications/jbuniversal/application.php on line 84
#2
Отправлено 06 May 2012 - 20:19
Warning: require_once(/components/com_zoo/controllers/zoovirtue.php): failed to open stream: No such file or directory in /media/zoo/applications/jbuniversal/application.php on line 84
#3
Отправлено 06 May 2012 - 20:45
Заменяем в файлике \media\zoo\applications\jbuniversal\application.php всю функцию
public function dispatch()
public function dispatch() { $this->_init(); $ctrlRequest = $this->app->request->get('controller', 'word', 'default'); $ctrlRequest = str_replace('jbuniversal', '', $ctrlRequest); $ctrlName = $ctrlRequest; if($ctrlName == 'zoovirtue'){ // load switcher for a controllers // register plugin path if ($path = $this->app->path->path( 'root:plugins/system/zoovirtue/' ) ) { $this->app->path->register($path, 'zoovirtue'); } $controller = $this->app->path->path('zoovirtue:controllers/controller.php'); if (JFile::exists($controller)) require ($controller); } if($ctrlName == 'zlframework'){ // register plugin path $plg_path = $this->app->joomla->isVersion('1.5') ? 'plugins/system/zlframework/' : 'plugins/system/zlframework/zlframework/'; if ( $path = $this->app->path->path( 'root:'.$plg_path ) ) { $this->app->path->register($path, 'zlfw'); } // register controllers if ( $path = $this->app->path->path( 'zlfw:controllers/' ) ) { $this->app->path->register( $path, 'controllers' ); } } else { // get current controller if ($this->app->jbenv->isSite()) { $newControllerPath = $this->app->path->path('jbzoo:/controllers/' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_SITE . DS . 'controllers' . DS . $ctrlRequest . '.php'; } else { $this->app->jbtoolbar->toolbar(); $newControllerPath = $this->app->path->path('jbzoo:/controllers/admin.' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_ADMINISTRATOR . DS . 'controllers' . DS . $ctrlRequest . '.php'; } // check is override controller exists if ($newControllerPath && JFile::exists($newControllerPath)) { $ctrlName = $ctrlRequest . $this->getGroup(); // set and dispatch it $this->app->request->set('controller', $ctrlName); require_once($newControllerPath); } else { require_once($defaultControllerPath); } } $this->app->jbdebug->mark('application::dispatch::before'); $this->app->dispatch($ctrlName); $this->app->jbdebug->mark('application::dispatch::after'); }
#4
Отправлено 06 May 2012 - 21:11
public function dispatch() { $this->_init(); $ctrlRequest = $this->app->request->get('controller', 'word', 'default'); $ctrlRequest = str_replace('jbuniversal', '', $ctrlRequest); $ctrlName = $ctrlRequest; if($ctrlName == 'zoovirtue'){ // load switcher for a controllers // register plugin path if ($path = $this->app->path->path( 'root:plugins/system/zoovirtue/' ) ) { $this->app->path->register($path, 'zoovirtue'); } if ( $path = $this->app->path->path( 'zoovirtue:controllers/' ) ) { $this->app->path->register( $path, 'controllers' ); } } if($ctrlName == 'zlframework'){ // register plugin path $plg_path = $this->app->joomla->isVersion('1.5') ? 'plugins/system/zlframework/' : 'plugins/system/zlframework/zlframework/'; if ( $path = $this->app->path->path( 'root:'.$plg_path ) ) { $this->app->path->register($path, 'zlfw'); } // register controllers if ( $path = $this->app->path->path( 'zlfw:controllers/' ) ) { $this->app->path->register( $path, 'controllers' ); } } if (!$ctrlName == 'zlframework' or !ctrlName == 'zoovirtue') { // get current controller if ($this->app->jbenv->isSite()) { $newControllerPath = $this->app->path->path('jbzoo:/controllers/' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_SITE . DS . 'controllers' . DS . $ctrlRequest . '.php'; } else { $this->app->jbtoolbar->toolbar(); $newControllerPath = $this->app->path->path('jbzoo:/controllers/admin.' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_ADMINISTRATOR . DS . 'controllers' . DS . $ctrlRequest . '.php'; } // check is override controller exists if ($newControllerPath && JFile::exists($newControllerPath)) { $ctrlName = $ctrlRequest . $this->getGroup(); // set and dispatch it $this->app->request->set('controller', $ctrlName); require_once($newControllerPath); } else { require_once($defaultControllerPath); } } $this->app->jbdebug->mark('application::dispatch::before'); $this->app->dispatch($ctrlName); $this->app->jbdebug->mark('application::dispatch::after'); }
#5
Отправлено 07 May 2012 - 05:46
Так что пользуйтесь им и этим костылем в паре с JBZoo на свой страх и риск.
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#6
Отправлено 08 May 2012 - 10:11
Ждем когда разработчик JBzoo предложит вариант без хака, а пока будем пользоваться этим решением.
Заменяем в файлике \media\zoo\applications\jbuniversal\application.php всю функцию public function dispatch() на приведенную ниже:
public function dispatch() { $this->_init(); $ctrlRequest = $this->app->request->get('controller', 'word', 'default'); $ctrlRequest = str_replace('jbuniversal', '', $ctrlRequest); $ctrlName = $ctrlRequest; // get current controller if ($this->app->jbenv->isSite()) { $newControllerPath = $this->app->path->path('jbzoo:/controllers/' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_SITE . DS . 'controllers' . DS . $ctrlRequest . '.php'; } else { $this->app->jbtoolbar->toolbar(); $newControllerPath = $this->app->path->path('jbzoo:/controllers/admin.' . $ctrlRequest . '.php'); $defaultControllerPath = JPATH_COMPONENT_ADMINISTRATOR . DS . 'controllers' . DS . $ctrlRequest . '.php'; } // check is override controller exists if ($newControllerPath && JFile::exists($newControllerPath)) { $ctrlName = $ctrlRequest . $this->getGroup(); // set and dispatch it $this->app->request->set('controller', $ctrlName); require_once($newControllerPath); } else { if($ctrlName == 'zoovirtue'){ $defaultControllerPath = JPATH_SITE . DS . 'plugins' . DS . 'system'. DS . 'zoovirtue'. DS . 'controllers' . DS . 'controller'. '.php'; } if($ctrlName == 'zlframework'){ $defaultControllerPath = JPATH_SITE . DS . 'plugins' . DS . 'system'. DS . 'zlframework' . DS .'zlframework'. DS . 'controllers' . DS . 'zlframework'. '.php'; } require_once($defaultControllerPath); } $this->app->jbdebug->mark('application::dispatch::before'); $this->app->dispatch($ctrlName); $this->app->jbdebug->mark('application::dispatch::after'); }
#7
Отправлено 10 May 2012 - 07:43
Денис, этот фреймворк бесплатен.zoolanders видел только на картинках и издалека, нужно его изучать. Подписки на их последние версии у меня нет.
Так что пользуйтесь им и этим костылем в паре с JBZoo на свой страх и риск.
https://www.zoolande...em/zl-framework
Он нужен для продукции zoolanders. В промо-тексте призывают разработчиков использовать его для создания своих кастомных элементов или приложений. В комплекте так же есть элемент статического контента.
Не ясно сколько пользователей zoolanders здесь на форуме вообще и актуальна ли эта проблема.
#8
Отправлено 10 May 2012 - 12:51
В jbzoo не работают сторонние контроллеры - следовательно применяется ХАК, что в свое время противоречит основной цели JBzoo дать расширенный функционал без хаков.
#9
Отправлено 10 May 2012 - 20:16
Еще раз говорю, то что вы решили скрестить два больших приложения (Zoolanders или что-то там еще) и столкнулись с кучей конфликтов то
это все на свой страх и риск, разбирайтесь сами.
Завтра выйдет еще какое-нибудь "народное" расширение для Zoo вроде корзины, интеграция с VM или вообще социальная сеть и оно тоже скорее всего не будет совместимо с JBZoo.
Не собираюсь подстраиваться под всех подряд. Только то что выпускает yootheme.com не более.
Либо если наберется оооочень много желающих работать совместно с Zoolanders (или что-то там еще), тогда возможно рассмотрю и то не факт.
PS Не нужно думать, что я не смотрел этот фреймворк. Знаком с творчеством этих ребят (и многих других, кто пишет для Zoo и Joomla). Очень со многими вещами не согласен.
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#10
Отправлено 10 May 2012 - 20:18
Сам не проверял, ничего не гарантирую. Опять же - "на свой страх и ..."
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.