2012-10-14 2 views
0

joomla 2.5 용 사용자 정의 구성 요소를 구축했습니다. 이제 sef URL을 구현하고 싶습니다. 그래서 router.php 파일을 만들기 시작했습니다. 나는 거의 성공했다. 내가 바꾸고 싶은 것은 구성 요소 이름 링크를 제거하는 것뿐입니다. 여기에 내가 가지고 무엇을 :sef url, 메뉴 항목에서 구성 요소 부분을 완전히 제거하지 마십시오.

http://host.tld/component/componentname/

내가 별칭으로 메뉴 항목을 작성하는 경우 SEF URL은 다음과 같습니다

http://host.tld/alias

이 내가 원하는 실제 제도입니다 가지고 있지만 메뉴에서 메뉴 항목을 클릭했을 때만 표시됩니다. 내가 홈 사이트에 있다면 이것은 작동하지 않습니다.

: 당신은 당신의 코드에 다음 줄을 추가해야합니다 (다른 당신이 바로 하나를 선택해야합니다) 구성 요소에 대해 하나 개의 메뉴 항목이있는 경우

:

+0

당신이 궁금한 점은 ** ** 매우 명확하지 않습니다. 특히 * "나는 홈 사이트에 있다면 작동하지 않습니다. *"조금 더 정밀하게 확장 할 수 있습니까? – Craig

+0

글쎄, 내가 홈 사이트에 있다면 URL은 구성 요소/구성 요소 이름 /보기/매개 변수 형식으로 작성됩니다. 이것은 또한 suburl과 함께 일어나는 일입니다. 메뉴 항목을 클릭하면 URL이 양식 menuitemalias/view/parammeters에 작성됩니다. URL을 항상 menuitem을 클릭 할 때 생성되는 것처럼 보이기를 원합니다. –

답변

1

문제를 스스로 해결
$app = JFactory::getApplication(); 
$menu = $app->getMenu(); 
$items = $menu->getItems('component', 'com_games'); 

if (!isset($query['Itemid'])) 
    $query['Itemid'] = $items->id; 

이제 joomla는 sef URL을 생성하기 위해 메뉴 항목 별칭을 사용합니다.

+0

코드 조각이 router.php 파일에 저장 되었습니까? –

+0

몇 년 전부터 더 이상 실마리가 없습니다. :)하지만 상상할 수 있습니다. –