2012-02-06 3 views
5

Sitecore의 내 페이지 중 하나에 인 '일반 링크'필드 이 있습니다. 이 필드는 기본적으로 비디오를 재생하는 데 사용되는 비디오 파일의 링크를 지정합니다. 무엇 내가 할 노력하고 있어요 이제Sitecore의 링크 유형 확인

, 체크 경우 사용자가 내부 연결, 미디어 또는 외부 링크로 링크를 업로드 여부를이 링크유형입니다. 이 정보는 링크 유형에 따라 적절하게 수행해야합니다.

Sitecore에서 링크 유형을 확인하는 방법이 있습니까?

답변

19

첫 번째 항목에서 필드를 꺼내야합니다.

Sitecore.Data.Fields.LinkField field = Sitecore.Context.Item.Fields["FIELD_NAME"]; 

그런 다음 필드의 다양한 속성을 검사 할 수 있습니다.

bool isInternal = field.IsInternal; 
bool isMedia = field.IsMediaLink; 
string linkType = field.LinkType; 

다양한 LinkType 값은 internalexternalmediaanchor, mailto

+0

굉장! 고마워! – YashG99

11

javascript 제발 저 상태 뭔가를 추가하자입니다. 귀하의 경우에는 linktype에 따라 몇 가지 추가 조치가 필요합니다. sitecore 문서에서 이에 대한 자세한 정보를 찾을 수 있습니다. 당신은 항상 당신에게 링크 유형에 따라 올바른 URL을 반환 몇 가지 방법 위로를 얻을 수 있습니다

public static string GetUrl(this Sitecore.Data.Fields.LinkField LinkField) { 

     string url = ""; 

     switch (LinkField.LinkType) { 
      case "internal": 
      case "external": 
      case "mailto": 
      case "anchor": 
      case "javascript": 
       url = LinkField.Url; 
       break; 
      case "media": 
       MediaItem media = new MediaItem(LinkField.TargetItem); 
       url = Sitecore.StringUtil.EnsurePrefix('/', MediaManager.GetMediaUrl(media)); 
       break; 
      case "": 
      default: 
       break; 
     } 

     return url; 

    } 

이 방법이 당신을 도와하려면 아래의 코드를 참조하십시오. 행운을 빌어 요!