我正在尋找鏈接到Sitecore客戶端(不是外部網站)中的項目的最佳方式。該鏈接將嵌入到斷鏈報告電子郵件中。用戶應該能夠點擊鏈接並啓動Sitecore內容編輯器,並在樹中自動選擇該項目。優美的方式鏈接到Sitecore客戶端項目?
我在他的博客here上發現了馬克烏爾西諾的解決方案,但不幸的是,它只有在您正在積極登錄Sitecore(否則,它會在登錄後將您帶到Sitecore桌面)的情況下起作用。
我正在Sitecore.NET 6.4.1(REV 110324)
UPDATE
剛剛結束對馬爾科的解決方案的循環:
public void Process(LoggedInArgs args)
{
string url = HttpUtility.UrlDecode(WebUtil.GetQueryString("url"));
// Ensure we're dealing with the client login site and there is a URL to redirect to
if (Sitecore.Context.GetSiteName() == "login" &&
!String.IsNullOrEmpty(url))
{
var queryString = WebUtil.ParseQueryString(url);
// Check for redirect param to prevent accidental redirections
if (queryString.ContainsKey("redirectAfterLogin"))
WebUtil.Redirect(url);
}
}
這樣看起來非常非常接近。但我不明白URL會傳遞給處理器。如果我知道想要在Sitecore客戶端中鏈接到的項目的ID,我會傳入哪個URL? – 2011-11-08 15:35:45
@corey,你可以傳遞你想要的任何東西作爲url,它取決於你的處理器代碼來解釋url的參數。因此,您可以將項目的GUID包含爲參數,例如您的查詢字符串可能看起來像'&myItem = [GUID]&myOpen = workbox',處理器將查找參數myItem和/或參數myOpen。並用它們來完成它需要做的任何邏輯。 – Marko 2011-11-10 01:20:48