2012-12-25 2 views
3

Sitecore에 ORM으로 Glass library을 사용하고 있습니다. 이미지 목록이 포함 된 이미지가 있습니다. 내 .NET 코드에서이 액세스하려는 때문에 , 나는 같은 필드 이미지가있는 부분 클래스를 작성했습니다 :Glass with Sitecore

[SitecoreField] 
public virtual IEnumerable<Glass.Sitecore.Mapper.FieldTypes.Image> Images { get; set;} 

을하지만이를로드하는 동안 오류를 얻고있다.

The method or operation is not implemented. 

추가 코드를 작성하지 않고 Glass를 통해 단일 이미지에 액세스 할 수 있습니다.

아무도이 문제를 해결할 수있는 방법을 제안 할 수 있습니까?

+0

Sitecore 템플릿의 '이미지'입력란의 유형은 무엇입니까? 나는 treelist 또는 multilist를 추측하고 있습니다. Glass 라이브러리에 대해서는 아무 것도 몰라요.하지만 문제는 Sitecore의 이미지 필드를 자체 이미지 클래스에 매핑해야한다는 사실에 기인한다고 생각합니다. 이미지가 상당히 다르게 저장되는 반면, 뷰 -> 원시 값을 선택하여 이미지 필드를 저장하는 방법을 보려면 sitecore가 다중 분할/트리리스트 필드를 파이프로 구분 된 GUID 목록으로 저장한다는 점을 기억하십시오. –

+0

@mdresser에게 감사드립니다. 하지만이 문제는 유리 라이브러리 매핑 문제였습니다. 다음과 같은 해결 방법이 있습니다. –

답변

6

우리 건축가는 Glass 라이브러리 작성자의 도움을 받아이 문제를 해결했습니다. 그리고 해결책은 .. 이런 식이다

[SitecoreField] 
    public virtual IEnumerable<MediaImage> Images { get; set;} 

그리고 미디어 이미지와 같은 클래스 :이 문제를 해결하고 지금은 이미지의 목록을 얻고있다

 [SitecoreClass] 
public class MediaImage 
{ 
    [SitecoreField("Attachment")] 
    public virtual Stream Image { get; set; } 

    [SitecoreInfo(SitecoreInfoType.MediaUrl)] 
    public virtual string Url { get; set; } 

    [SitecoreField("Alt")] 
    public virtual string Alt { get; set; } 
} 

.