2013-01-24 3 views
2

프로그래밍 방식으로 joomla보기 템플릿을 설정할 수있는 방법이 있습니까?프로그래밍 방식으로 템플릿 설정 joomla보기

MVC 아키텍처를 사용하여 구성 요소를 개발하고 있습니다. 프런트 엔드 측에 두 개의 템플릿이 있습니다. 로그인 한 사용자 (템플릿 B)는 일반 방문자 (템플릿 A) 용입니다.

내가 만난 문제는 로그인 한 사용자를위한 서점이 있다는 것입니다. 템플릿은 템플릿 B입니다. 서점 내부에는 검색 북을위한 기능이 있습니다. 내 구성 요소에서 검색 및 서점을 모두로드합니다. 메뉴 항목에 할당 된 서점은 템플릿 B로로드됩니다. 그러나 검색 버튼을 클릭하면 결과가 템플릿 A에서 템플릿 B에서 템플릿 A로 변경되었음을 나타냅니다.

내 사이트의 기본 템플릿은 템플릿 B입니다. 나는 메뉴 항목을 통해 템플릿 A를 할당했습니다.

저는 Joomla 2.5를 사용하고 있습니다.

제 생각에는 문제가 충분하다고 생각합니다. 아무도 나에게 실마리를 줄 수 있다면, 정말 고마워요.

고맙습니다. 문제가 명확하지 않거나 모호한 경우 알려주십시오.

답변

1

생각해 봅니다.이 작업은 JSite :: setTemplate ($ template, $ templateParams) 메서드를 사용하여 수행 할 수 있지만 잘 모르겠습니다. 이 기능은 캐싱과 함께 작동하며 테스트해야합니다.

1

사용자에 대해 두 개의 템플릿을 사용하고 명의 사용자는 각각에 대해 비슷한 문제가있었습니다. 특정 템플릿 안에 만로드 할 뷰를 원했기 때문에 뷰 내에서 템플릿을 프로그래밍 방식으로 설정/변경해야했지만 Itemid을 사용해 보았습니다.하지만 약간의 연구가 끝나면 결국 신뢰할 수 없었습니다.

$app = JFactory::getApplication(); 
    $app->setTemplate('Protostar'); //or whatever your template is named. 

이렇게하면이 뷰/레이아웃을 특정 템플릿에만로드 할 수 있습니다. 에 성공과 함께 사용했지만 사용자 버전에서도 작동 할 수 있습니다.

관련 문제