2010-07-17 3 views

답변

3

대한 부분은 파일에서 온다 : 그것은 범위의에서

include_partial('thing', $params)에 $ PARAMS와 _thing.php 포함됩니다.

슬롯 파일 아니지만, 템플릿/컨트롤러에 다른 곳에서 설정 :

slot('title', 'Home Page');
echo '<title>'.slot('title').'</title>'

+0

슬롯에 캐시를 거짓으로 설정할 수 있습니까? 우리가 할 수있는 한 구성 요소 ... – hardik

1

당신은 OO 방법 정의와 슬롯 생각할 수있다. 레이아웃은 슬롯을 정의합니다. 템플리트는 레이아웃을 확장하고 해당 슬롯을 채 웁니다 (메소드를 겹쳐 쓰므로). 또한 겹쳐 쓰지 않을 때 표시되는 슬롯의 기본 컨텐츠를 가질 수 있습니다.

반면에 부분은 구성과 같습니다. 템플릿은 액세스 할 수있는 재사용 가능한 구성 요소입니다. 대체로 그들은 간단한 include 문과 동일하지만 사용하는 변수를 전달합니다.

이 페이지는 개념을 설명에서 꽤 좋은 직장을 수행 슬롯과 파셜 사이 http://www.symfony-project.org/book/1_2/07-Inside-the-View-Layer

4

가장 큰 차이점은 특정 슬롯에 대한 렌더링이 특정 템플릿 안에있는 것입니다. 반대로 부분 템플릿은 다른 템플릿에 템플릿을 포함시킨 것일뿐입니다.

"기본적으로 슬롯은 뷰 요소 (레이아웃, 템플릿 또는 부분적으로) 중 하나에 넣을 수있는 자리 표시 자입니다.이 자리 표시자를 채우는 것은 변수를 설정하는 것과 같습니다. 채우기 코드 는 응답에 전역 적으로 저장되므로 레이아웃, 템플릿 또는 부분적으로 어디에서나 정의 할 수 있습니다. 포함하기 전에 슬롯을 정의하고 레이아웃이 템플릿 다음에 실행된다는 점을 기억하십시오. 장식 프로세스), 부분 템플릿은 템플릿에서 호출 될 때 실행됩니다. " 아마 슬롯에 위치 (또는 제목 도우미에서) 할 것입니다, 당신은 다음의 레이아웃의 여부를 확인할 것 - 페이지에 대한

  • 제목 : 각각의 사용 방법

    예는 다음과 같다 슬롯을 정의한 다음 보여줍니다.

  • 사이드 바 항목 - 3 개의 사이드 바 "슬롯"이 있다고 가정하면 '사이드 바 -1', '사이드 바 -2'및 '사이드 바 -3'과 같은 3 개의 슬롯을 갖게됩니다. 템플릿에서는 원하는 경우 부분 (또는 구성 요소)을 사용하여 렌더링 할 수있는 슬롯을 정의합니다.

조금 더 명확히하기를 바랍니다.

관련 문제