Kohana (PHP 프레임 워크)에서 레이아웃은 Template_Controller를 통해 구현됩니다.이 템플릿 변수는 레이아웃 뷰로 사용되는 $ template이라는 멤버 변수를 계속합니다. 그런 다음 액션 메소드에서 $ 템플릿에 추가 하위보기 (일반적으로 컨텐츠보기)를 채울 수 있습니다. (http://forum.kohanaframework.org/discussion/3612/kohana-layout-system/p1)런타임에 레이아웃 템플릿 변경
이렇게하면 런타임의 레이아웃 "테마"를 변경할 수 있습니다. 세입자가 자신의 테마를 선택할 수있는 멀티 테넌트 시스템에 유용합니다. (2 열, 3 열 등)
스칼라 템플릿 엔진을 사용하여 2 스칼라에서 어떻게 달성 할 수 있습니까? 즉, 세입자가 선택할 수있는 여러 레이아웃 템플릿을 갖고 싶습니다. 그런 다음 컨트롤러는 레이아웃 템플릿과 작업 관련 컨텐츠 템플릿을 렌더링합니다. 같은
뭔가 (컨트롤러의 액션 의사) :
사용자를 기반으로- , 레이아웃 테마 검색 (데이터베이스에 문자열에 저장된 이름을 매핑보기 파일을 해당했다).
- 작업 관련 콘텐츠 뷰를 렌더링합니다.
- (2)와 함께 (1)에서 얻은 렌더링 레이아웃보기.
참고 : 각 동작에 대해 레이아웃 테마는 사용자별로 변경 될 수 있지만 콘텐츠보기는 동일하게 유지됩니다. 그것에서
이 문서의 (http://www.playframework.com/documentation/2.1.1/ScalaTemplateUseCases)
컨텐츠 템플릿은, 말의 index.scala.html는 main.scala.html에 정의 된 주를 호출, 레이아웃 템플릿이 포함되어 있습니다. 즉, 하드 코딩되었으므로 index.scala.html은 main.scala.html과 밀접하게 결합되어 있습니다.
리플렉션을 사용하여 컨트롤러에서 main을 호출 한 다음 내용을 전달하는 것에 대해.
대안으로 Scalate와 같은 해석 된 템플릿 엔진을 사용하는 것이 좋습니다.
의견이 있으십니까?