gpt4 book ai didi

Sitecore 8、MVC、体验编辑器 : How to make a rendering refresh after a Field Editor Button has been used

转载 作者:行者123 更新时间:2023-12-03 01:22:27 24 4
gpt4 key购买 nike

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

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

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

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

现在解决问题:

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

我们如何实现这一目标?

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

Screenshot

更新经过与支持人员的多次交谈后,我们仍然没有有用的解决方案。

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

  • 当您在弹出字段编辑器中编辑该字段时,该字段会更新。 (但是……)
  • 第一次加载页面时看起来不错。
  • 您可以制作一个带有命令的 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 中完成。但是,有一种可能性......

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

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

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

关于Sitecore 8、MVC、体验编辑器 : How to make a rendering refresh after a Field Editor Button has been used,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30505666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com