在果园中是否可以在自定义小部件之间进行相互通信?
情景: -
假设: - 我们有一个小部件名称老师。这可以添加学生姓名。在同一页面上,我们有第二个小部件名称student。当老师添加新的学生姓名时,它将在同一页面上的第二个小部件(学生)中显示。在第二页上我们还拖动了学生小部件它应该也用新值更新.i不会在数据库中存储值。请帮帮我。 提前谢谢。
答案 0 :(得分:0)
Orchard没有任何特定来执行此操作,但如果您愿意,它也不会妨碍您这样做。
我们的一些小部件中有类似的内部通信。我们通过向窗口小部件添加特定属性(可以通过编辑窗口小部件来更改)来执行此操作,其中我们输入要链接到的窗口小部件的名称。在我们的例子中,我们使用的小部件共享一个JSON对象(链接小部件现在知道它链接到的小部件的名称,因此我们可以弄清楚如何获取JSON对象)。然后我们使用一个可观察的样式JS框架(我相信我们的前端开发人员正在使用木偶,但选择你的味道)。如果小部件A或小部件B更新JSON对象,则由于JS框架的工作原理,html会自动更新。这给了很好的互动"窗口小部件。
或者 - 如果您只关心加载时的链接,那么两个小部件都应该从实现IDependency(例如IMyService)的接口中提取数据,即每个请求"然后您可以轻松地共享服务器端的数据。
我猜测你对Bertrand的评论,你正在寻找我列出的第一个选项。
我确信您可以进一步明确这些概念并获取SharePoints"链接部分"框架,只要你链接相同数据类型的输出/输入,它允许链接,但这将更难完成。