Content management system 如何使用“选择”字段动态更改对话框

Content management system 如何使用“选择”字段动态更改对话框,content-management-system,components,freemarker,magnolia,Content Management System,Components,Freemarker,Magnolia,我是新来的木兰花,我正在制作我自己的模块。 添加组件时,我有一个对话框,我想使用选择字段动态更改下面的下一个字段 例如: 选择带有{“类型1”、“类型2”、…}的字段 如果选择了“类型1” ->在下面显示一个文本字段 否则 ->在下面显示basicUpload字段 提前谢谢。我相信这一点已经讨论过了,如果你看一下标有“magnolia”的问题,几乎没有其他地方讨论过 长话短说,场是原子的、独立的实体。他们彼此不认识。因此,创建这种动态连接的唯一方法是通过“父”形式。您需要扩展表单演示者和字段工厂

我是新来的木兰花,我正在制作我自己的模块。 添加组件时,我有一个对话框,我想使用选择字段动态更改下面的下一个字段

例如:

选择带有{“类型1”、“类型2”、…}的字段

如果选择了“类型1”

->在下面显示一个文本字段

否则

->在下面显示basicUpload字段


提前谢谢。

我相信这一点已经讨论过了,如果你看一下标有“magnolia”的问题,几乎没有其他地方讨论过

长话短说,场是原子的、独立的实体。他们彼此不认识。因此,创建这种动态连接的唯一方法是通过“父”形式。您需要扩展表单演示者和字段工厂(如果您希望选择将是
SelectFieldFactory
),并且在创建字段时,在其中附加更改的值或类似的侦听器,以便在字段中更改值时,您可以通知演示者使某些其他字段可见或隐藏


IIRC您可以看到在外部表单模块中完成的示例(如果您可以访问企业代码)。不确定是否有任何社区模块显示相同的内容。

谢谢您的帮助@Jan,就像我说的,我是这个木兰世界的新手。我正在使用木兰CE和Blossom模块。目前我正试图这样做:`tab.fields(cfg.fields.switchable(“message”).options(ob.label(“opt1”).value(“test1”).selected(),ob.label(“opt2”).value(“test2”).fields(cfg.fields.text(“test1”).label(“text”).rows(5),cfg.fields.richText(“test2”).label(“rich”).label(“消息”))`