我在Sitecore的一個頁面中有一個'General Link'字段。該字段基本上指定用於播放視頻的視頻文件的鏈接。檢查Sitecore中的鏈接類型
現在,我要做的是,檢查如果類型此鏈接,用戶是否已經上傳的鏈接作爲內部鏈接,媒體或外部鏈接。我需要這些信息,這取決於鏈接的類型,我需要相應地執行一些操作。
有沒有辦法檢查Sitecore中的鏈接類型?
我在Sitecore的一個頁面中有一個'General Link'字段。該字段基本上指定用於播放視頻的視頻文件的鏈接。檢查Sitecore中的鏈接類型
現在,我要做的是,檢查如果類型此鏈接,用戶是否已經上傳的鏈接作爲內部鏈接,媒體或外部鏈接。我需要這些信息,這取決於鏈接的類型,我需要相應地執行一些操作。
有沒有辦法檢查Sitecore中的鏈接類型?
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
讓我狀態的東西更多的請。在你的情況下,你想有一些基於鏈接類型的額外動作。在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。祝你好運!
太棒了!謝了哥們! – YashG99 2012-02-06 16:17:04