在Magnolia中更改LinkField时填充TextField的数据

时间:2016-05-04 10:01:41

标签: magnolia

我的对话框中有一个由LinkField和TextField组成的CompositeField。 在选择LinkField的数据时,我想要使用与LinkField值相关的值填充TextField。 知道怎么做吗?

这适用于Magnolia CMS。我正在使用最新的Magnolia版本。

谢谢! :)

2 个答案:

答案 0 :(得分:2)

不同字段之间没有ootb绑定。

要创建它,您需要编写自己的字段,在内部封装链接字段和文本字段,并注册侦听器以更改链接字段值以及更改文本字段的设置值。
或者您需要重写对话框演示者,以便能够在创建链接字段时注册此类侦听器。

抱歉,目前没有任何代码示例来演示它。希望解释清楚。

HTH,

答案 1 :(得分:0)

您是否需要根据编辑器更新文本字段?

如果没有,可以通过修改保存操作轻松实现。您的表单应该有一个使用class = info.magnolia.ui.admincentral.dialog.action.SaveDialogActionDefinition

定义的提交按钮

打开SaveDialogActionDefinition,你会看到它指向info.magnolia.ui.admincentral.dialog.action.SaveDialogAction,它在执行时可以在保存会话之前操纵节点。

如果您延长SaveDialogAction,添加了与setNodeName(Node node, JcrNodeAdapter item)类似的其他方法并在setNodeName(...)node.getSession().save()之间调用,则可以根据输入的方法设置所需的任何其他属性由用户。

您还需要另一个引用新操作的定义类,以便您的对话框定义知道在提交时使用新操作。