Jump to content


Photo
- - - - -

Не Могу Подключить Чпу


Best Answer fiction13 , 20 December 2019 - 18:35

$link   = $this->app->route->item($item);
$link   = str_replace('/administrator/', '/', $link);
$uri    = JApplication::getInstance('site')->getRouter()->build($link);
$link   = $uri->toString();

Ваши переменные в код мне вставлять лень, разберетесь, я думаю.

Go to the full post


6 replies to this topic

#1 axeld

axeld
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 20 December 2019 - 09:34

Добрый день. Столкнулся с проблемой.

Пишу плагин, и в стороннем файле плагина подключаю JBZOO. Все подключилось, материалы можно получать по API, но почему-то не срабатывает получения url страниц.
 

$url_page[$i] = $app->route->item($item_model);
//Выдает строку
'/administrator/index.php?option=com_zoo&view=item&layout=item&Itemid=597'

// Ну ладно, добавляю htmlspecialchars_decode()
$url_page[$i] = htmlspecialchars_decode($app->route->item($item_model));
// Уже лучше
'/administrator/index.php?option=com_zoo&view=item&layout=item&Itemid=597'

// Если добавить JRoute::_, то NULL 
JRoute::_($url_page[$i]);
NULL

// Но даже если убрать 'administrator' и в ручную написать
JRoute::_('/index.php?option=com_zoo&view=item&layout=item&Itemid=597');
// Все равно не отрабатывается
'/index.php?option=com_zoo&view=item&layout=item&Itemid=597' 

  В чем может быть проблема ?


  • 0

#2 usersJbzoo

usersJbzoo
  • JBZoo User (rus)
  • User rate: 2.5
  • posts: 201
  • topics: 39

Posted 20 December 2019 - 09:52

Добрый день. Столкнулся с проблемой.

Пишу плагин, и в стороннем файле плагина подключаю JBZOO. Все подключилось, материалы можно получать по API, но почему-то не срабатывает получения url страниц.
 

$url_page[$i] = $app->route->item($item_model);
//Выдает строку
'/administrator/index.php?option=com_zoo&view=item&layout=item&Itemid=597'

// Ну ладно, добавляю htmlspecialchars_decode()
$url_page[$i] = htmlspecialchars_decode($app->route->item($item_model));
// Уже лучше
'/administrator/index.php?option=com_zoo&view=item&layout=item&Itemid=597'

// Если добавить JRoute::_, то NULL 
JRoute::_($url_page[$i]);
NULL

// Но даже если убрать 'administrator' и в ручную написать
JRoute::_('/index.php?option=com_zoo&view=item&layout=item&Itemid=597');
// Все равно не отрабатывается
'/index.php?option=com_zoo&view=item&layout=item&Itemid=597' 

  В чем может быть проблема ?

если вы из админки то , поищите как в zoo работает link(

$this->app->link(array('controller' => $this->controller, 'changeapp' => $this->application->id, 'task' => 'edit', 'cid[]' => $row->id))

Edited by usersJbzoo, 20 December 2019 - 09:53.

  • 1

#3 axeld

axeld
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 20 December 2019 - 10:14

Да, из админки.
 

                    require_once(JPATH_SITE.'/includes/defines.php');
                    require_once(JPATH_SITE.'/includes/framework.php');

                    require_once JPATH_BASE . '/components/com_zoo/config.php';
                    require_once JPATH_BASE . '/components/com_zoo/helpers/route.php';
                    require_once JPATH_SITE . '/media/zoo/applications/jbuniversal/framework/jbzoo.php';

                    JBZoo::init();
                    $app = App::getInstance('zoo'); // точка входа в API ZOO/JBZoo
                    $app->link(array('controller' => 'item', 'changeapp' => 5, 'task' => 'edit', 'cid[]' => 5626));

Так выглядит код сейчас, для упрощения убрал переменные.
Выдает
 

'/administrator/index.php?option=com_zoo&controller=item&changeapp=5&task=edit&cid%5B%5D=5626'

  • 0

#4 fiction13

fiction13
  • JBZoo User (rus)
  • User rate: 272.6
  • posts: 604
  • topics: 23

Posted 20 December 2019 - 18:35   Best Answer

$link   = $this->app->route->item($item);
$link   = str_replace('/administrator/', '/', $link);
$uri    = JApplication::getInstance('site')->getRouter()->build($link);
$link   = $uri->toString();

Ваши переменные в код мне вставлять лень, разберетесь, я думаю.


Edited by fiction13, 20 December 2019 - 18:36.

  • 1

#5 axeld

axeld
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 21 December 2019 - 06:58

Огромное спасибо. НЕ знал, что получение url адресов из админки, так отличается. :)


  • 0

#6 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 21 December 2019 - 16:52

App::getInstance('zoo')->jbrouter->externalItem($item);

  • 1

#7 axeld

axeld
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 22 December 2019 - 08:06

App::getInstance('zoo')->jbrouter->externalItem($item);

СПАСИБО


  • 0




Click to return to top of page in style!