2016-12-15 4 views
0

유리 매퍼를 사용하고 있으며 내 템플릿에 드롭랍 목록이 있습니다. 항목을 검색하려고하면 이름 대신 드롭 다운에서 선택한 GUID를 다시 가져옵니다. 드롭 다운에서 선택한 이름과 GUID를 비교하는 방법은 무엇입니까?Glass Mapper Droplink Guid 대신 이름 표시

답변

5

GUID 대신 항목의 이름을 원한다면 Droplist를 사용해야하는 이유는 무엇입니까? 또는 다른 용도로 GUID가 필요합니까? Glass는 Sitecore가 실제로이 케이스에 저장하고있는 것을 반환합니다 (Droplink의 경우 GUID 항목).

그렇지 않으면 항목 이름이 포함 된 연결된 항목에 대한 새 클래스를 만든 다음 매핑 된 속성을 변경하여 문자열 대신 해당 클래스를 반환해야합니다.

참고로 Droplist가 더 쉽게 수정 될 수 있지만 해당 필드 유형을 사용하는 것은 좋지 않습니다. 항목 이름은 GUID 대신 저장되므로 해당 항목 이름을 변경해도 항목을 연결하기 위해 계단식으로 연결되지 않습니다.

3

나는 미래의 사용을 위해 techphoria414의 답변에 대한 실례를 제공하고 있습니다.

당신의 droplink 필드를 상상해은 KeyValuePair 유형의 항목이 포함

[SitecoreType(TemplateId = "Id")] 
public partial interface IKeyValuePair 
{ 
    [SitecoreField(FieldId = "Id")] 
    string Key { get; set; } 

    [SitecoreField(FieldId = "Id")] 
    string Value { get; set; } 

} 

당신의 droplink 필드 템플릿에서 색상 바를

[SitecoreType(TemplateId = "Id")] 
public partial interface IColourBar 
{ 
    [SitecoreField(FieldId = "Id")] 
    IKeyValuePair SelectColourBar { get; set; } 
} 

이 후, KeyValuePair 모델에 하나를 SelectColourBar지도 것입니다 SelectColourBar 경우 키 또는 값에 액세스 할 수 있습니다.