【问题标题】:Sitecore 8, MVC, Experience Editor: How to make a rendering refresh after a Field Editor Button has been usedSitecore 8,MVC,体验编辑器:如何在使用字段编辑器按钮后进行渲染刷新
【发布时间】:2015-05-28 11:44:14
【问题描述】:

我们有一个渲染列出当前项目中 TreeSelect 中的选定项目。在我们的例子中,我们称它们为“标签”(1)

我们在组件中添加了一个字段编辑器按钮,让编辑器更改所选项目。 (2) (例如Adding a custom component 上的描述)

当编辑器单击 (2) 编辑器窗口 (3) 时,它会在对话框中打开。编辑器可以使用 TreeSelect 选择不同的项目(在我们的例子中称为标签)。

当编辑器按下确定按钮 (4) 时,值被设置。

现在问题来了:

这些值实际上是在编辑器按下保存按钮时设置的,但我们希望页面 (1) 上的列表在编辑器按下确定按钮 (4) 时立即反映设置的项目,即之前必须实际保存整个项目。

我们如何做到这一点?

(我正在与 Sitecore 支持人员联系,但到目前为止我还没有得到任何答复...)

更新 经过与支持人员的大量对话,我们仍然没有任何有用的解决方案。

我们尝试将其变成显示链接的字段渲染器。 有效的是:

  • 当您在弹出字段编辑器中编辑该字段时,该字段会得到更新。 (但是...)
  • 第一次加载页面时看起来不错。
  • 您可以使用命令创建一个 WebEdit 按钮来编辑字段并将其作为自定义按钮添加到该字段(注册 <command name="webedit:fieldeditor" type="Sitecore.Shell.Applications.WebEdit.Commands.FieldEditor, Sitecore.Client"/> 并将单击按钮设置为 webedit:fieldeditor(command={3473DDA1-2983-493C-AF7A-054C75AA7AD3},fields=NameOfField,其中 guid 指向 itelf 和一个“图标”设置在上面。)

没用的是:

  • 该字段由原始值更新,而不是我想要显示的内容。涉及服务器代码,但不涉及 html 代码的呈现。
  • 当我想在字段编辑器中编辑值时,发送到字段编辑器的值不是原始值,而是页面上实际显示的值。 (我想这可以通过某种方式解决)

支持的问题变成了一个功能请求,让服务器参与渲染该字段,而不仅仅是向更新它的 JavaScript 发送一个新值。服务器进行第一次渲染,因此当它已经参与更新时,也应该允许它在以下时间进行渲染。

我们决定现在不花更多时间在这方面(我们还有其他事情要做。)并且编辑器体验不佳,因为在编辑器实际保存项目之前不会更新字段。

对于这个问题,我们仍然没有合适的解决方案。如果您想继续研究它并想要参考我的问题,那就是 439059。

【问题讨论】:

  • 一般来说,Sitecore 支持团队只会在您的工单未 100% 完成时要求您填写其他信息。我在支持部门的经验是,他们(当信息完整时)总是会为您提供合适的解决方案/解决方案来解决您的问题。
  • 是的,@Younes,大多数情况下,sitecore 支持都给出了很好的答案,但在这个问题上,有几个误解(我的和他们的错)让我脾气暴躁。 ;-) 所以我想我会让 stackoverflow 社区有机会更好/更快地给出答案。当我得到答案时,更多的人应该能够阅读它。

标签: sitecore sitecore-mvc sitecore8


【解决方案1】:

这在这里可能没有用。我已经在普通站点中完成了此操作,但在 Sitecore 中没有。但是,这是一种可能性......

在这种情况下,您可以将回调函数传递给子弹出窗口。此回调将导致调用者/父窗口重新读取/重新加载子窗口刚刚更新的信息。

示例: 用户按下(2)打开编辑器窗口(3)(编辑器窗口打开,回调函数作为参数传递) 用户按下“确定”按钮 (4)。 “确定”按钮事件处理程序更新更改,然后调用重新加载现在更新的信息的回调函数,并关闭弹出窗口。 弹出窗口关闭后,父窗口现在会显示弹出窗口/编辑器刚刚更新的信息。

这需要一些客户端 javascript (jquery) 开发,但它通常是非常可行的。

【讨论】:

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