Jak sprawdzić, który składnik jest używany na bieżącej stronie?

14

Chcę skonfigurować mój szablon, aby wyświetlał inny układ w zależności od tego, który składnik jest używany na bieżącej stronie. Jak to sprawdzić?

FFrewin
źródło

Odpowiedzi:

23

Dla Joomla 3.x

Chociaż kod z drugiej odpowiedzi będzie działał, JRequestjest przestarzały, dlatego powinieneś użyć następujących opcji:

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

Na przykład, jeśli wyświetlasz artykuł i używasz powyższego kodu, zostanie on wydrukowany com_content

Lodder
źródło
9

Dla Joomla 2.5

Możemy to sprawdzić, pobierając parametry adresu URL, używając JRequest::getVar()metody i sprawdzając parametr opcji.

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

Dokumentacja JRequest API

FFrewin
źródło
2
JRequest::getVar()jest przestarzałe. Zastosowanie JFactory::getApplication()->input->get('option', '');.
Farahmand,
1

Innym podejściem jest obiekt JRouter:

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

Nie jestem pewien, czy kiedykolwiek istnieje praktyczna różnica między wartością JRouter a wartością zwracaną przez JInput.

Kent Butler
źródło