2015-01-12 1 views
0

에 나는 관련 컬렉션에 교대로 추가 내 자신의 클래스를 만들었습니다대체 경로는 오차드

ShapeMetadata.Alternates.Add("DansForm"); 

이 있지만, 잘 작동 DansFormViews 루트에있는 경우에만.

DansForm 번을 모두 하나의 디렉토리에 보관하고 싶습니다.

어떻게 경로를 참조 할 수 있습니까? 나는 무엇을 시도했다


:

ShapeMetadata.Alternates.Add("Forms/DansForm"); 
ShapeMetadata.Alternates.Add("/Forms.DansForm"); 
ShapeMetadata.Alternates.Add("Forms.DansForm"); 
ShapeMetadata.Alternates.Add("Forms\\DansForm"); 
ShapeMetadata.Alternates.Add("Forms__DansForm"); 
ShapeMetadata.Alternates.Add("Forms_DansForm"); 

그들 중 하나를 찾을하지 않습니다.

답변

1

모양 템플릿을 디렉토리로 구성 할 수 없습니다. Orchard에는 모양 템플릿을 검색하는 디렉토리 목록이 하드 코드되어 있습니다.

public IEnumerable<string> SubPaths() { 
    return new[] { "Views", "Views/Items", "Views/Parts", "Views/Fields" }; 
} 

성능상의 이유로 생각됩니다. 자신의 폴더에 셰이프를 찾기 위해 IShapeTemplateHarvester의 추가 구현을 작성할 수는 있지만 과도한 구성으로 보이게 만듭니다. 나는 당신이보기의 엉망으로 고생해야한다고 생각합니다. 죄송합니다!