是否可以触发&#34;快速编辑&#34;使用<a> tag from within a page outside of EPiServer edit mode?</a>的函数

时间:2013-04-12 08:28:39

标签: episerver

  1. 导航到页面
  2. 点击快速编辑按钮(常规标签) enter image description here
  3. 用户进入快速编辑模式 enter image description here
  4. 这可能吗?如何实现?

    注意:在这种特殊情况下,问题针对的是EPiServer 6 R2。

2 个答案:

答案 0 :(得分:4)

这将为编辑模式提供加载当前页面的URL。将其与快速编辑网址进行比较并相应调整。

string.Format(
  "{0}default.aspx?id={1}&amp;epslanguage={2}&amp;selectededitpaneltab=1",
  UriSupport.AbsoluteUrlFromUIBySettings("edit/"),
  page.PageLink,
  page.LanguageBranch)

答案 1 :(得分:0)

约翰是绝对正确的。他的回答非常好。

我想分享我的最终结果:

  1. 公开创建个人博客。通过公开我的意思是你真的只是使用EPiServers编辑模式的东西。

    uxCreatePersonalBlog.NavigateUrl = String.Format("{0}EditPanel.aspx?parent={1}&type=82&epslanguage={2}&mode=simpleeditmode",
        UriSupport.AbsoluteUrlFromUIBySettings("edit/"),
        CurrentPage.PageLink,
        CurrentPage.LanguageBranch);
    
    uxCreatePersonalBlog.Visible = CurrentPage.QueryDistinctAccess(AccessLevel.Create);
    
  2. 公开创建博客项目。

    uxCreateBlogItem.NavigateUrl = String.Format("{0}EditPanel.aspx?parent={1}&type=80&epslanguage={2}&mode=simpleeditmode",
        UriSupport.AbsoluteUrlFromUIBySettings("edit/"),
        CurrentPage.PageLink,
        CurrentPage.LanguageBranch);
    
    uxCreateBlogItem.Visible = CurrentPage.QueryDistinctAccess(AccessLevel.Create);
    
  3. 公开编辑博客项目。

    uxEditBlogItem.NavigateUrl = String.Format("{0}Default.aspx?id={1}&epslanguage={2}&mode=simpleeditmode",
        UriSupport.AbsoluteUrlFromUIBySettings("edit/"),
        CurrentPage.PageLink,
        CurrentPage.LanguageBranch);
    
    uxEditBlogItem.Visible = CurrentPage.QueryDistinctAccess(AccessLevel.Edit);
    
  4. 请注意,我在所有三个按钮上都使用了mode=simpleeditmode。如果您不使用mode=simpleeditmode,则在保存和发布页面后,您将在标题中找到EPiServer编辑模式界面。

    如果您的网站只有一种语言,则无需{p> epslanguage。我添加了它,以防将来某个时候我们决定使它多语言化。

    type是硬编码的。有没有办法以更优雅的方式实现这一点?