这是一个很长很短的问题,因为与其他人相比,Silverstripe 在 CMS 市场上仍然很新……
正如主题标题所述,有没有人玩过 silverstripe 并使用其中一个用户定义的表单模块作为其核心 API 的一部分?
我想知道是否有人尝试成功修改模块以满足他们自己的自定义要求?
我觉得这方面的挑战是缺少代码示例或文档来了解用户定义的表单是如何工作的,以及我如何修改和操作其配置设置以达到我想要实现的目标?
有没有人可以在这方面提供帮助?
这是一个很长很短的问题,因为与其他人相比,Silverstripe 在 CMS 市场上仍然很新……
正如主题标题所述,有没有人玩过 silverstripe 并使用其中一个用户定义的表单模块作为其核心 API 的一部分?
我想知道是否有人尝试成功修改模块以满足他们自己的自定义要求?
我觉得这方面的挑战是缺少代码示例或文档来了解用户定义的表单是如何工作的,以及我如何修改和操作其配置设置以达到我想要实现的目标?
有没有人可以在这方面提供帮助?
我用过这个模块。您希望进行哪些修改?您可以轻松地装饰或子类化模块的部分以添加自定义功能,而无需修改核心代码。
这里有一些文档可以让您深入了解 Decorator 选项。
http://doc.silverstripe.org/sapphire/en/reference/dataobjectdecorator
但是,是的,让我们知道你想要做什么,我应该能够给你更详细的建议:)
鉴于您在下面的其他信息 -
为此使用 UDF 可能不值得,所需的工作不会比从头开始创建前端表单的更直接的选项更多或更少。http://doc.silverstripe.org/sapphire/en/topics/forms
但是,如果您想继续使用 UDF,则需要执行以下操作-
1) 扩展 UserDefinedForm 例如。CustomUserDefinedForm 将 UserDefinedForm 扩展为有一个额外的字段/dbfield,您可以在其中选择要映射到的 DataObject 的名称。
2) 装饰 EditableFormField 以具有一个额外的字段,将其映射到 DataObject 的适当字段。
3) 扩展 UserDefinedForm_Controller 例如。CustomUserDefinedForm_Controller 扩展了 UserDefinedForm_Controller 并覆盖了 'process' 方法。这是保存表单和发送电子邮件的地方。您需要添加代码以循环遍历字段并将它们保存到表单上指定的数据对象中。