получить Joomla non sef url, когда SEF включен - PullRequest
2 голосов
/ 15 июня 2011

Я создаю системный плагин для Joomla.Я хочу проверить, загружает ли текущая страница какую-либо статью.

Для этого я планировал проверить, является ли просмотр статьей и получить идентификатор в этом случае.Но это не работает в случае, если sef включен.

Есть ли способ получить это.или как получить не-sef url, если SEF включен.

Ответы [ 3 ]

6 голосов
/ 12 января 2012

Это может быть слишком поздно, чтобы ответить. :) Но другие, имеющие такую ​​же проблему, могут использовать этот код Вы должны использовать onAfterRoute событие в системном плагине . попробуйте это -

function onAfterRoute()
{
   $option = JRequest::getVar('option');
   $view   = JRequest::getVar('view');
}

Это должно всегда перехватывать части 'option' и 'view' независимо от того, включен или выключен SEF. Точно так же вы можете поймать другие части URL.

РЕДАКТИРОВАТЬ: Примечание для Joomla 3.x вы должны использовать JInput

$jinput = JFactory::getApplication()->input;
$option = $jinput->get('option');
$view   = $jinput->get('view');
0 голосов
/ 29 октября 2013

Вы можете получить variables, когда захотите, по этой строке:

$yourVariable = JRequest::getVar('yourVariableName');

просто убедитесь, что при router.php в функции yourComponentNameBuildRoute передайте свой varable на $segment и в *Функция 1008 * поместите вашу переменную, когда вы вернетесь $var.

, для более подробной информации посетите: http://docs.joomla.org/Supporting_SEF_URLs_in_your_component

0 голосов
/ 15 июня 2011

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

...