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


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

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


Лучший Ответ 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();

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

Перейти к сообщению


Сообщений в теме: 6

#1 axeld

axeld

Отправлено 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

Отправлено 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))

Сообщение отредактировал usersJbzoo: 20 December 2019 - 09:53

  • 1

#3 axeld

axeld

Отправлено 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

Отправлено 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();

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


Сообщение отредактировал fiction13: 20 December 2019 - 18:36

  • 1

#5 axeld

axeld

Отправлено 21 December 2019 - 06:58

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


  • 0

#6 CB9TOIIIA

CB9TOIIIA

Отправлено 21 December 2019 - 16:52

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

  • 1

#7 axeld

axeld

Отправлено 22 December 2019 - 08:06

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

СПАСИБО


  • 0




Click to return to top of page in style!