在Sitecore 6中如何从自定义Sitecore应用程序打开内容编辑器中的内容项?

时间:2013-05-13 18:19:19

标签: sitecore sitecore6

我有一个Sitecore自定义应用程序,基本上是一个搜索屏幕。我希望用户能够单击搜索结果中的链接并在内容编辑器中打开该内容项。有谁知道怎么做?

3 个答案:

答案 0 :(得分:2)

您需要做的是将 fo 参数与项目的ID一起用作内容编辑器路径末尾的参数值,例如:

http://localhost/sitecore/shell/Applications/Content%20Editor.aspx?fo={4142d44b-2237-4795-b219-85e70420fced}

评论后编辑:如果您想在Sitecore中使用内容编辑器启动新应用程序,可以使用方法:

Sitecore.Text.UrlString parameters = new Sitecore.Text.UrlString();
parameters.Add("id", item.ID.ToString());
parameters.Add("fo", item.ID.ToString());
Sitecore.Shell.Framework.Windows.RunApplication("Content Editor", parameters.ToString());

这在帖子Launch Content Editor from code

中有所描述

这是Mark Ursino的另一个解决方案,使用javascript onclick事件做同样的事情:http://firebreaksice.com/link-directly-to-a-sitecore-item-in-a-custom-editor/

答案 1 :(得分:2)

John West在这里有一些很好的信息: http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/08/Load-or-Reload-an-Item-in-the-Sitecore-ASPNET-CMS.aspx

打开新的内容编辑器窗口,可以使用以下格式的网址来完成: / sitecore / shell / sitecore / content / Applications / Content Editor.aspx?id = {0}& fo = {0}& la = {1}& ver = {2}

答案 2 :(得分:1)

我创建了一个当前在Sitecore 6.5中运行的简单扩展方法。我还没有在其他版本的Sitecore中测试过它。

public static string ContentEditorUrl(this Item item)
{
    return string.Format("{0}/sitecore/shell/Applications/Content%20Editor.aspx?fo={1}", 
        HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority), item.ID);
}