我在Sitecore的某个页面中有一个'常规链接'字段。该字段基本上指定了用于播放视频的视频文件的链接。
现在,我要做的是,检查,如果此链接的类型,用户是否已将链接上传为
有没有办法检查Sitecore中的链接类型?
答案 0 :(得分:20)
1,你需要从你的物品上取下场地。
Sitecore.Data.Fields.LinkField field = Sitecore.Context.Item.Fields["FIELD_NAME"];
然后,您可以检查您所在领域的各种属性。
bool isInternal = field.IsInternal;
bool isMedia = field.IsMediaLink;
string linkType = field.LinkType;
各种LinkType
值为internal
,external
,media
,anchor
,mailto
和javascript
答案 1 :(得分:11)
请允许我另外说明一些事情。在您的情况下,您希望根据linktype进行一些额外的操作。在sitecore文档中,您可以找到有关此内容的更多信息。为了帮助您,请参阅下面的代码:
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;
}
通过这种方式,您可以获得一些方法,它将始终根据链接类型返回正确的URL。祝你好运!