글래스 매퍼로 다음을 달성하려고했지만 제대로 작동하지 않습니다.Glass Mapper로 Sitecore 템플릿 상속을 구현하는 방법
Navigation Template
Fields: Navigation Title
Meta Information Template
Fields: Page Title, Meta Description
I :
나는 어떤 분야 자체가 있지만 다음과 같은 두 가지 템플릿을 상속하지 않는 홈 페이지 템플릿을 해당 인터페이스/cla를 만들었습니다. SSES 다음과 같이 : 다음 내 페이지에 액세스하려고하면
[SitecoreType(TemplateId = "{5BAB563C-12AD-4398-8C4A-BF623F7DBCDC}", AutoMap = true)]
public interface INavigation
{
[SitecoreField(FieldName = "Navigation Title")]
string NavigationTitle { get; set; }
}
[SitecoreType(TemplateId = "{95539498-31A5-4CB5-8DD6-C422D505C482}", AutoMap = true)]
public interface IMetaInformation
{
[SitecoreField]
string PageTitle { get; set; }
[SitecoreField]
string MetaDescription { get; set; }
}
[SitecoreType(TemplateId = "{F08693E5-8660-4B13-BBD6-7B9DC6091750}", AutoMap = true)]
public class HomePage : INavigation, IMetaInformation
{
public virtual string NavigationTitle { get; set; }
public virtual string PageTitle { get; set; }
public virtual string MetaDescription { get; set; }
}
모든 속성은 항상 null입니다 : 나는이에 여러 가지 방법을 시도했지만 아무것도 작동하지 않습니다
var context = new SitecoreContext();
var page = context.GetCurrentItem<HomePage>();
. 또한 다른 자습서에서 설명한 내용이 효과가 없습니다. 유일한 방법은 홈 페이지 템플릿에 필드를 직접 추가하는 것이지만 두 개 이상의 페이지 유형을 갖고 있으므로 필드를 상속 받기를 원하기 때문에 원하지 않습니다.
누구나 내가 여기에없는 것을 알 수 있습니까?! 차이점이 있다면 Sitecore 7 with .NET 4.5를 사용하고 있습니다.
난 당신이 인터페이스 수준에서 오토 할 수 있는지 확실하지 않습니다. 인터페이스 속성에 명시적인 [SitecoreField()] 특성을 정의하고 인터페이스의 AutoMap 속성을 제거하십시오. 그게 작동하는지 확인하십시오. 또한 FieldId = ""를 사용하여 필드 이름 대신 GUID에 매핑하는 것이 좋습니다. –
안녕하세요, Ruud, 답장을 보내 주셔서 감사합니다. 나는 automap을 제거하고 대신 fieldid를 추가했다. 아무것도 변경되지 않았습니다. 아무것도 (configs 또는 무엇이든) 활성화해야합니까? 이 작업을 수행하기가 어려울 것 같지 않은데, 아주 기본적인 시나리오처럼 보이지만 여기서 내가 무엇을 놓치고 있는지 전혀 알지 못합니다. – 5earch
시작시 메모리의 모든 모델을로드 할 수 있도록 Glass 초기화를 올바르게 설정 했습니까? –