【发布时间】:2023-11-22 00:12:01
【问题描述】:
我正在尝试根据 SilverStripe 中的一些条件动态更改字段的类型。
我有一个字段,例如CheckboxField() 我需要将其复制并更改为其他类型,例如DropdownField() 或任何其他类型的字段。
有没有办法在将对象推送到表单之前执行此操作?这里的最佳做法是什么?
【问题讨论】:
-
这是为后端 SilverStripe CMS(又名。
getCMSFields)还是其他什么?它应该像CheckboxField中的removeByName一样简单,然后是addFieldToTab(或push)你想要的任何新领域。如果是getCMSFields,您能否向我们展示您目前拥有的内容,以便我们根据您的问题创建适合的答案? -
另外,当您回到我之前的问题时,您打算如何存储不同的数据?我假设您的意图是将数据存储为不同的数据库或
has_one属性?只需向我们提供更多信息:) -
@Turnerj 用于前端用户表单...表单。我正在创建一个可以更改为任何其他类型字段的自定义字段,但我不确定如何正确执行此部分。
-
我目前只是使用条件语句来切换 - github.com/mediabeastnz/campaign-monitor-userform/blob/master/…
-
AHHHH,
CheckboxSetField,不是CheckboxField!我想你真的已经有了关于如何去做的问题的解决方案,你真正的问题是最好的方法是什么?您链接到的代码是更优化的方法之一,我可能会以类似的方式实现它。如果那是您的代码,那么这是一种很好的方法。
标签: php forms object field silverstripe