2014-07-26 5 views
0

나는 joomla 3.3.1 사이트를 가지고 있으며 홈페이지에 다른 기사를 추천 기사로 첨부했습니다. 이제 해당 기사 링크 (이미지, 헤더 텍스트)를 클릭하면 (\components\com_content\views\featured\tmpl\default_item.php) 행 번호 아래의 다음 링크가 리디렉션됩니다. 28 :Joomla itemid redirect url

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=101 

가 지금은 항목 ID가 Itemid=101에서 다른 곳으로 재 지정하려는 :

<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">

그리고 당신은 프론트 엔드에서 해당 링크를 열 경우, 그것은 다음과 같이 표시됩니다은 기술 자료 달려있다 like (Itemid=134 또는 Itemid=164). 그래서 내가 원하는 코드를 default_item.php 코드에 넣어야합니다. 그래서 여기에서 설정 한 내 Itemid을 리디렉션 할 수 있습니다.

나는 다음과 같은 코드를 적어 시도 :

<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid). $menuItemId=44); ?>">

을 그리고 난 그런 그 뭔가 게재 프론트 엔드에있는 링크를 열 경우 :

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=10144 

내가 원하는

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=44 

다음과 같이 표시됩니다. 그는 두 항목 ID가 내가 (44) 나중에 부여한 대신 표시됩니다. 이것에 당신의 도움이 필요합니다.

+0

1. 코어 파일을 해킹하지 마십시오. 2. Joomla의 내장 리디렉션 메커니즘을 사용하지 않는 이유는 무엇입니까? – Craig

+0

@cppl 핵심 설정을 변경해야합니다. 이것에 리디렉션을 사용할 수 없습니다.내 코드를 수정했습니다. 너 나 좀 도와 줄 수있어? – indy

+0

변경하지 말고 변경해야합니다. 코어 파일을 편집하지 마십시오 MVC를 사용하여 원하는 것을하십시오. – Elin

답변

0

고려해야 할 사항 중 하나는 Itemid를 변경하려는 이유입니다. 현재 값은 추천 메뉴 항목에서옵니다. 이렇게하면 항목에 대한 드릴 다운 옵션이 다양 해집니다. Itemid를 변경하면 무엇을 달성 할 수 있습니까? 템플릿, 모듈, URL 또는 다른 것을 제어하려고합니까?

Itemid는 템플릿, 모듈, URL 및 기타 옵션을 선택한 옵션에 따라 관리하기 때문에 Joomla의 매우 중요한 개념입니다. SEF 플러그인은 또한 복잡한 계층 적 규칙을 사용하여 일치하는 Itemids를 검색합니다.

여기에 문제가 있습니다. 동일한 콘텐츠에 대해 다른 itemid를 갖고 싶지는 않습니다. 페이지가 매우 다르면 괜찮습니다. 그렇지 않으면 기본 시스템을 엉망으로 만들기 시작하면 모든 것에 대해 매우 신중해야합니다.

당신이 절대적으로 Itemid의 가치를 알고 있고 당신이하고있는 것을 알고 있고 모든 기사에 대해 동일한 itemId라면, 동적으로 생성 된 내용을 대체하는 기능보기에 대한 레이아웃 재정의를 할 수 있습니다. 하드 코딩과 함께 readmore. 제목을 연결 한 경우 제목 링크도 변경하십시오. 이 경우 중복 콘텐츠에 대한 의견에 따라 해당 기사의 기사 및 블로그 레이아웃을 무시해야 할 수도 있습니다.

기능 페이지에서 특별한 작업을 수행하고 내부 페이지에서 해당 작업을 수행하지 않는 것이 문제인 경우 기능보기에서 조정하는 것이 더 좋습니다 (예 : 일반 템플릿은 기본값과 해당 메뉴 링크에서만 사용되는 기능에 대한 특수 템플릿). 또한 문제가 모듈 인 경우 기능보기에 있는지 여부에 따라 특정 모듈을 숨기거나 표시하여 여러 가지 템플릿을 사용하는 것이 좋습니다.

+0

도움 주셔서 감사합니다. 하지만 그게 내 문제를 해결하는 데 도움이되지 않습니다. 나는 Itemid 기능 등을 잘 알고 있으며 분명히 사이트의 어느 곳에서나 Feature article (default_item.php) 핵심 페이지를 사용하지 않을 것이라고 언급했습니다. 그 페이지를 절대 사용하지 마십시오. 그래서 PHP 코드를 어디에 h2 url을 클릭하여 특정 Itemid (기본적으로 itemid 생성하지 않음)로 리디렉션 할 것입니다. 여기서 일부 기능을 배치했습니다. 내 itemid는 지금 101입니다. 그리고 일부 코드를 수정 한 후 10144를 리디렉션하지만 44 개만 필요합니다. 따라서 PHP 코드를 작성하여 도움을받을 수 있습니까 ?? – indy

+0

나는 당신이해야 할 일을 설명했고, 오버라이드를하고 jroute를 사용하지 않아야합니다. 메뉴 트리에서 다른 항목 ID를 가져올 것이므로 기사에 대한 상위 카테고리 링크가 없는지 확인해야합니다. 유한 옵션 세트가 있고이 항목 ID가 어디에서오고 있는지 또는 사용하여 얻으려는 항목에 대해 설명하지 않은 것입니다. Joomla는 중복 콘텐츠를 생성하지 못하도록하려고하므로 강제로해야합니다. – Elin