2011-06-15 5 views
2

joomla 시스템 플러그인을 만들고 있습니다. 현재 페이지에 기사가로드되고 있는지 확인하고 싶습니다.SEF가 켜져있을 때 Joomla sef url을 가져 오지 마십시오.

이 경우 나는보기가 기사인지 확인하고이 경우 ID를 얻으려고합니다. 그러나 sef가 켜져있는 경우에는 작동하지 않습니다.

이것을 얻을 수있는 방법이 있습니까? 또는 SEF가 ON 인 경우 sef가 아닌 URL을 얻는 방법. 당신은 예를 들어 카테고리 블로그 레이아웃에 대한 기사 페이지에 특별히없는 의미보다 레이아웃이 있기 때문에

답변

6

이 대답에 너무 늦을 수 있습니다 ... 뷰 변수를 확인 할 수 있습니다 . :)하지만 같은 문제가있는 다른 사용자는이 코드를 사용할 수 있습니다. onAfterRoute 이벤트를 시스템 플러 그에 사용해야합니다. 시도 this-

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

이해야 항상 잡아라 '옵션'과 '보기'부분 SEF이 온 또는 오프 인 경우에 상관없이. 마찬가지로 URL의 다른 부분을 잡을 수 있습니다.

편집 : 당신은 당신이 얻을 수있는 JInput

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

를 사용해야합니다 Joomla를 3.x를위한 참고하여 variables이 선으로 그것을 원하는 경우 :

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

단지에 router.php에 확인 yourComponentNameBuildRoute 함수는 변수가 $segment으로 전달되고 yourComponentNameParseRoute 함수는 변수를 넣을 때 $var을 반환합니다.

자세한 내용은 다음을 참조하십시오. http://docs.joomla.org/Supporting_SEF_URLs_in_your_component