Symfony에서 다른 모듈에 대해 다른 템플릿 레이아웃을 설정하는 방법
-
03-07-2019 - |
문제
Symfony의 다른 모듈에 대해 다른 템플릿 레이아웃을 설정하는 방법은 무엇입니까?
로그인 화면과 회원 섹션으로 구성된 은행 응용 프로그램이 있습니다. 따라서 사용자가 내 사이트로 이동하면 로그인 화면이 제공됩니다. 로그인 한 후 그는 은행 요구에 관계없이 회원 섹션으로 리디렉션됩니다.
그렇다면 로그인 화면과 멤버 섹션 내부의 페이지에 대한 다른 레이아웃을 설정하는 방법은 무엇입니까? Symfony는 사용하는 것 같습니다 frontend/templates/layout.php
모든 페이지의 템플릿으로. 다른 레이아웃을 정의 할 수 있습니까?
해결책
예,보기 당 별도의 레이아웃을 정의하거나 레이아웃을 완전히 비활성화 할 수 있습니다. 이렇게하려면 모듈의 /config 디렉토리에있는 view.yml 파일을 만들거나 편집해야합니다. 모듈의 모든 뷰에 사용될 레이아웃을 또는 각보기에 별도로 정의 할 수 있습니다. 예를 들어:
#in /apps/my_app/modules/my_module/config/view.yml
#this will apply custom_layout to all views of the module
all:
layout: custom_layout
#this will apply login_layout to the loginSuccess view
loginSuccess:
layout: login_layout
#disable layout for this view
homeSuccess:
has_layout: false
모든 경우에 레이아웃은 앱 /템플릿 디렉토리의 파일입니다 (.php가 추가). 모듈의보기 구성 파일에서 레이아웃 지시문을 정의하지 않으면 기본 레이아웃이 사용됩니다.
다른 팁
또는 내부 작업이라면 간단히 사용할 수 있습니다.
$this->setLayout('name_file_layout_without_extension');
모듈 내부에서 사용중인 템플릿에서 작업 할 수 있습니다.
제휴하지 않습니다 StackOverflow