我是重力形式的新手。
在 https://docs.gravityforms.com/gform_field_standard_settings/,可以找到一个示例,用于在字段的“常规”选项卡上为“单行文本”字段创建新的标准设置。 我尝试改变它,效果很好。
但是:我尝试为其他提供的字段创建这样的自定义设置,例如“段落文本”或“数字”等,但失败了。
并且:我想知道,上面的示例代码中没有任何迹象表明它特别适用“单行文本” - 但它确实适用,但我不明白为什么以及如何。
我想我已经弄清楚这里发生了什么。这与我在尝试进行全局自定义字段设置时遇到的问题相同;通常我只会将我所做的自定义字段设置应用于特定的自定义字段。
要创建完全自定义的字段,您可以声明一个新类并扩展
GF_Field
。在声明自定义字段支持的字段设置时,您只需覆盖 get_form_editor_field_settings
方法即可。如果我要进行新的自定义字段设置;我还将在此处添加它的名称(图 1)。
根据我的理解,侧边栏设置只有在上述方法内部才会出现。我深入研究了核心,发现上述方法的结果数组被转换为 JavaScript 对象。当您单击管理区域中的字段时,会查找名为
fieldSettings
的 JavaScript 对象(图 2)。
我没有注意到的是,GravityForms 提供的示例中的 JavaScript 实际上在加载时修改了这个 fieldSettings 数组;扩展对象以允许显示该字段(图 3)。我相信自定义字段的 JavaScript 方法只是加载当前表单状态,但实际上它还做了更多事情。我想这可能是示例中更多指出的事情。
希望对您有所帮助,如果您需要更多帮助,请告诉我!
(图 1 - 覆盖 get_form_editor_field_settings 的新自定义字段)