2013-01-13 1 views
0

url 대체 템플릿을 사용하여 ContentType의 DisplayType 템플릿을 무시할 수 있는지 알고있는 사람이 있습니까? 예를 들어 템플릿을 재정의 할 수 있습니까? Content-Page.Detail.cshtml with Content-url-homepage-Page.Detail.cshtml? 조금 놀고 나면 그렇게 보이지 않습니다. 나는 무엇을 얻을 수 있는지 알 수 있습니까?과수원 CMS에서 대체 URL이있는 콘텐츠 유형에 대한 세부 템플릿 제공

감사합니다.

+0

어쨌든 왜 이것을하고 싶습니까? 모든 URL에 표시되는 콘텐츠는'detail' 또는'summary' 모드로 표시됩니다. 동일한 URL의 동일한 콘텐츠에 대해 둘 다 사용할 수는 없습니다. –

답변

0

'도형 추적'기능을 사용하고 대체품 목록을 보면 모양에 사용할 수있는 모든 대체물을 볼 수 있습니다.

~/Themes/MyTheme/Views/Content.cshtml 
~/Themes/MyTheme/Views/Content-url-homepage.cshtml 
~/Themes/MyTheme/Views/Content.Detail.cshtml 
~/Themes/MyTheme/Views/Content-Page.cshtml 
~/Themes/MyTheme/Views/Content-10.cshtml 
~/Themes/MyTheme/Views/Content-Page.Detail.cshtml 
~/Themes/MyTheme/Views/Content-10.Detail.cshtml 

귀하의 옵션

추가 또는 예를 들어, Orchard.DesignerTools.Services.UrlAlternatesFactory로 대체 공장을 기존의 확장입니다 : 나는 상자 밖으로 얻을 홈페이지의 메인 컨텐츠 항목 예를 들어 http://devhammer.net/blog/Customize-Orchard-CMS-with-Designer-Tools

// appends [ShapeType]__url__[Url]_[DisplayType] alternates 
context.ShapeMetadata.Alternates = _urlAlternates.Value.Select(url => 
    context.ShapeMetadata.Type + "__url__" + url + "_" + 
     context.ShapeMetadata.DisplayType) 
     .Union(context.ShapeMetadata.Alternates) 
     .ToList(); 

이 당신에게 대체 ~/테마/MyTheme/조회/줄 것이다 콘텐츠 URL을-homepage.Detail.cshtml

또는

~/Themes/MyTheme/Views/Content-10.Detail.cshtml 
로 기존 대체 중 하나를 사용하는

귀하의 목적에 맞는 것 같습니다 (ID를 사용하는 것이 URL을 사용하는 것처럼 깨끗하지는 않습니다.)

또한 'URL Alt ernates '기능을 사용하여 URL 대체 코드가 의도 한대로 표시되는 다른 기존 대체 코드에 추가 될 수 있지만 이것이 작동하지 않거나 그렇지 않으면 지원되지 않는다는 것을 알 수 있습니다.