我的对话框中有一个由LinkField和TextField组成的CompositeField。 在选择LinkField的数据时,我想要使用与LinkField值相关的值填充TextField。 知道怎么做吗?
这适用于Magnolia CMS。我正在使用最新的Magnolia版本。
谢谢! :)
答案 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()
之间调用,则可以根据输入的方法设置所需的任何其他属性由用户。
您还需要另一个引用新操作的定义类,以便您的对话框定义知道在提交时使用新操作。