Как проверить, какой компонент используется на текущей странице?

14

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

Ф.Фрюин
источник

Ответы:

23

Для Joomla 3.x

Хотя код из другого ответа будет работать, JRequestон устарел, поэтому вы должны использовать следующее:

$jinput = JFactory::getApplication()->input;
echo $jinput->get('option');

Например, если вы отображаете статью и используете приведенный выше код, он выведет com_content

Лоддер
источник
9

Для Joomla 2.5

Мы можем проверить, получив параметры URL, используя JRequest::getVar()метод и проверив параметр option.

jimport( 'joomla.environment.request' );
echo JRequest::getVar('option', '')

Документация по JRequest API

Ф.Фрюин
источник
2
JRequest::getVar()не рекомендуется. Использование JFactory::getApplication()->input->get('option', '');.
Фараманд
1

Другой подход - через объект JRouter:

JFactory::getApplication()->getRouter()->getVars()["option"]

Не уверены, есть ли практическая разница между значением JRouter и значением, возвращаемым через JInput.

Кент Батлер
источник