【问题标题】:Sitecore: Programmatically remove the Page Editor Tool bar on topSitecore:以编程方式删除顶部的页面编辑器工具栏
【发布时间】:2012-12-12 12:41:59
【问题描述】:

我正在 IFrame 中加载页面(项目呈现,例如 /sitecore/content/.../Page)。它还显示页面编辑器功能区。我想隐藏那个工具栏,在我的场景中不需要。

但是,如果我将 IFrame 的源 URL 设置为 http://mysite/somefolder/page.aspx,它不会显示页面编辑器控件。

这意味着页面编辑器控件会按需加载。 需要知道如何停止在页面上加载页面编辑器控件。 如果您知道如何停止将这些控件加载到页面,请告诉我。

【问题讨论】:

  • 嗨,严,我在编辑模式下不需要这个页面。我使用“/sitecore/content/Custom Editors/TestIFrameEditor”作为 IFrame 字段中的源链接。因此“?sc = normal”对我不起作用。我在页面加载时尝试了您的代码示例,这是第一次在没有页面编辑器的情况下加载。如果您尝试再次重新加载该项目,则会出现“找不到资源”错误。请帮忙....
  • 我想这个评论对我来说是刻薄的,不是颜?你双重发布了这个问题,另一个问题有一些更相关的信息:stackoverflow.com/questions/13837537/…我想念理解 Sitecore IFrame 与 HTML IFrame。您是否尝试更改 DisplayModeDuration 并看到效果?

标签: sitecore sitecore6 page-editor


【解决方案1】:

这是因为页面处于编辑模式。这个页面永远不需要在页面编辑器中加载吗?如果没有,那么您可以将以下内容添加到 Page_Load 事件中:

Sitecore.Context.Site.SetDisplayMode(Sitecore.Sites.DisplayMode.Normal, Sitecore.Sites.DisplayModeDuration.ResetAfterRequest);

否则,您可以在设置 iFrame 的 src 时将 ?sc_mode=normal 附加到 URL 以实现相同的目的。这样,如果您想在 iFrame 之外编辑页面,您可以使用标准的 Sitecore 页面编辑器功能。

您当前/正在将 IFrame 的 URL 设置为什么(当您获得控件时)?

【讨论】:

  • 设置 sc_mode 为 normal 也会将数据源更改为 web 而不是 master,这可能不是这里的意图。我认为他们想在没有控件的情况下查看预览内容。
【解决方案2】:

我找到了一个解决方案,我用 CSS 隐藏了这个功能区,这是一个非常简单的解决方案,

<style>
    /*Hide the edit mode ribbon panel appears in the iframes. Originally added this to Price strategy control.*/
    #scWebEditRibbon, #scCrossPiece
    {
        display: none;
    }
</style>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多