2013-10-15 4 views
0

나는 과수원을 배우고 있으며 일부 Pluralsight 코스를했습니다. 그것은 Part Templates를 다루었지만 지금은이 기사를 읽고 있습니다 : Anatomy of a theme 그리고 항목 템플릿이라는 섹션이 있습니다. 그리고 나는 혼란 스럽다. 나는 이전에이 개념을 보지 못했다고 생각합니다. 그 차이점은 무엇입니까? 콘텐츠 유형이 인 동영상을 콘텐츠 부분이있는 동영상의 샘플로 만들어 보겠습니다. 부품 템플릿을 사용하여 렌더링 방법을 재정의 할 수 있습니다. 그래서 여기 아이템 템플릿을이 곳에 사용 하시겠습니까?과수원의 아이템 템플릿 대 부품 템플릿

답변

2

이 질문과 관련하여 좀 더 자세하게 블로그 게시물을 작성했습니다. 뻔뻔한 플러그 : http://arkleseizure.net/what-the-hell-is-an-item-template

말씨는 분명하지 않습니다.

이 (그래서 당신은 콘텐츠 유형이 영화

  • TitlePart
  • DirectorPart
  • StudioPart : 그럼 우리가 조금이 정리 수 있는지

    컨텐츠 유형을하자 3 개의 파트가 첨부 된 소위 말하는 영화).

    모든 부품이 상세보기에 표시되고 요약 화면에 표시되는 TitlePart 만 표시되도록합니다. 그래서 우리는 콘텐츠 부분은 내용 유형에 배치됩니다

    <Match ContentType="Movie"> 
        <Match DisplayType="Summary"> 
        <Place Parts_TitlePart="Summary:1" /> 
        <Place Parts_DirectorPart="-" /> 
        <Place Parts_StudioPart="-" /> 
        </Match> 
    
        <Match DisplayType="Detail"> 
        <Place Parts_TitlePart="Content:1" /> 
        <Place Parts_DirectorPart="Movie:1" /> 
        <Place Parts_StudioPart="Movie:2" /> 
        </Match> 
    </Match> 
    

    (명확성을 위해 사용 명시 표기)

    배치는 기본적으로 정의 placement.info 사용합니다. 요약, 컨텐츠 및 영화는 파트를 할당하여 표시 할 수 있도록 컨텐트 항목 내의 "영역"입니다. 이제 Content-Movie.Detail.cshtml이라는 파일에 Content 및 Movie 영역을 정의 해 보겠습니다 (이 내용은 "항목 템플릿"입니다).

    @using Orchard.Utility.Extensions; 
    
    <article class="content-item"> 
        <div class="content"> 
        @Display(Model.Content) 
        </div> 
        <div class="content"> 
        @Display(Model.Movie) 
        </div> 
    </article> 
    

    그리고 요약 하나의 콘텐츠-Movie.Summary.cshtml

    @using Orchard.Utility.Extensions; 
    
    <article class="content-item"> 
        <div class="content"> 
         @Display(Model.Summary) 
        </div> 
    </article> 
    

    (당신은 당신을 위해 다음을 생성하는 모양 추적 도구 (http://docs.orchardproject.net/Documentation/Customizing-Orchard-using-Designer-Helper-Tools)를 사용하고 기본 영역을 생성합니다 (헤더 , Meta, Content and Footer, 나는 믿는다.) 그리고 관련 html.

    이제 우리 부품이 올바른 위치에 표시되어야하며 우리는 제목 표시 방법을 변경하려고 할 수 있습니다. 그래서 우리는 요약,

    <h1>Movie: @Model.Title </h1> 
    

    그래서 Parts.Title.cshtml

    을은 "파트 템플릿"을 만들 수 있습니다. 콘텐츠 유형콘텐츠 부품이 많습니다. 부품 템플릿 콘텐츠 부품을 대체하고 항목 템플릿영역이 정의 된 내용 유형의 레이아웃보다 우선합니다. Placement.info 내용 영역을 표시 할 영역으로 직접 지정합니다.

    희망 하시겠습니까?