在创建 Magnolia CMS 时访问当前表单

Posted

技术标签:

【中文标题】在创建 Magnolia CMS 时访问当前表单【英文标题】:Acessing current form on create Magnolia CMS 【发布时间】:2018-06-28 10:16:32 【问题描述】:

我正在创建一个包含一些自定义字段的 Magnolia 应用程序。在这一点上我很卡住。目标:创建多个复选框字段,其中只有一个可以为真。当前环境:我有一个多字段里面的复合场。也就是说,复合材料有 4 个文本字段和一个自定义复选框字段(这是只能选中一个的)CurrentEnvironment Image问题:我无法访问当前表单取消选中其他复选框字段而不保存之前我尝试过的内容: 目前我正在尝试使用DetailLocation 访问该位置上的Session,但没有好处,因为在这一点上它无法访问会话。感谢您提供任何信息或指导。

【问题讨论】:

【参考方案1】:

每个字段都是原子的,无法访问上级。您要么需要创建自定义字段,其中包含这些单独的复选框,要么您需要为复合材料编写自定义 FieldPresenter,该复合材料将传递某个侦听器或其他可以保存或更改其他字段状态的对象。

或者您只是忘记了复选框并使用单选按钮组来实现相同的目的。

【讨论】:

嗨@Jan,感谢您的建议。你会如何使用单选按钮来做到这一点?我需要一个动态多值字段来让用户添加他想要的行数......使用单选按钮不会在每次添加一行时都创建一个新字段?(这不会带来上述相同的问题吗? ) 是的,它不会意识到您的用户每次都需要添加不同数量的值。所以你回到原来的解决方案。虽然开发自定义单选按钮可能仍然更容易,其中编辑器提供值列表以创建项目,然后将多个复选框绑定在一起以只允许选择一个。

以上是关于在创建 Magnolia CMS 时访问当前表单的主要内容,如果未能解决你的问题,请参考以下文章

在 Magnolia CMS 中创建 Java 模型

Magnolia Cms Oracle 持久性

Magnolia CMS:继承的组件定制

Magnolia CMS 中自定义内容类型的链接

如何在 Magnolia CMS Marketing Tag 中登录用户 ID

如何通过magnolia cms成像模块改变图像大小