【问题标题】:Difference between two different preview mode in SitecoreSitecore 中两种不同预览模式的区别
【发布时间】:2013-12-11 11:52:53
【问题描述】:

今天我进入了奇怪的状态。我正在通过 IIS 重写模块为 Sitecore 项目进行重定向。当我从发布选项卡预览中预览项目时,它会正确重定向。但是当我从演示选项卡预览命令中预览项目时,它不会重定向,即显示项目演示。

所以同一个项目有两种不同的预览行为,想想这两个预览选项之间的区别让我感到震惊。

  1. 在“发布”选项卡下:预览命令
  2. 在演示选项卡下:预览命令

请不要告诉我一种预览模式是在新的浏览器选项卡中打开,而第二种不是:),我是在询问功能方面的差异。

【问题讨论】:

  • 你的重写规则是什么?
  • ^(http://)?Domain/Itemname/?$

标签: sitecore sitecore6


【解决方案1】:

我所知道的差异并不多。但其中之一是;演示选项卡预览在您的“网站”站点定义的上下文中运行;发布选项卡预览会生成一个新窗口,该窗口使用您用来“访问”您的 Sitecore 的任何域名。或者换一种方式;使用“发布”选项卡时,主机名会将您映射到正确的站点定义(配置)-“内联”预览选项卡不会使用此选项。

这是最可能的原因,您会发现行为有所不同。

这是演示选项卡中的 URL:http://edit.edit.dev/home-node-name/edit-edit?**sc_site=website**&sc_lang=en&sc_mode=preview&sc_duration=temporary&sc_device=%7bFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7d

还有来自“发布”选项卡的相同 URL:http://edit.edit.dev/?sc_itemid=%7bB307A010-FF0B-4D0C-892F-EFF7C9A01AD4%7d&sc_mode=preview&sc_lang=en

不确定它何时进入配置文件,但似乎这一切都由这个管道(在 web.config 中)控制:

  <getPagePreviewUrl>
    <processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetDefaultUrlOptions, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetPagePreviewUrl.SetLanguage, Sitecore.Kernel"/>
    <processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetUrl, Sitecore.Kernel"/>
  </getPagePreviewUrl>

【讨论】:

  • 我试图从两种方式中击中一个共同的项目,但它以两种不同的方式显示。一个正在重定向,另一个没有。然后我开始思考这些差异。
【解决方案2】:
  1. 发布 标签下:只有具有相关发布角色/访问权限的用户才能看到此标签,并能够打开一个新窗口以在网站上下文中进行预览(在多站点解决方案)。这可能经常使用并且类似于页面编辑器,但无法实际编辑。

  2. Presentation 标签下:只有具有相关设计人员角色/访问权限的用户才能看到此标签,并能够在 shell 界面中打开标签以简单地预览表示层。这可能不经常使用,因为页面编辑器更可能被使用并且与上面的模式几乎相同。

正如 Mark 所说,它们可能会有不同的 URL 和查询字符串参数。我建议您比较它们,看看您的重写规则是否满足两者。

另外,我有一个blog post about this same issue when getting the context site。尽管它不是 100% 相关的,但它确实有代码显示了您在一种模式与另一种模式下可以预期的参数。

【讨论】:

  • 如果任何用户都可以访问这两个命令,那么两个预览命令中的页面应该看起来相同。但这是我第一次意识到显示了两个不同的预览。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多