这是一个很长很短的问题,因为与其他CMS市场相比,Silverstripe在CMS市场上仍然是相当新的。
正如主题标题所述,有没有人使用silverstripe并使用这些用户定义的表单模块之一作为其核心API的一部分?
我想知道有没有人尝试过成功地修改模块来满足他们自己的自定义需求?
我发现这方面的挑战是缺乏代码样本或文档来理解用户定义的表单是如何工作的,以及我如何修改和操作它的配置设置来实现我想要的目标?
有没有人能在这方面帮上忙?
发布于 2012-04-17 08:49:14
我已经用过这个模块了。你到底希望做哪些修改?您可以轻松地修饰或子类化模块的各个部分,以添加自定义功能,而无需修改核心代码。
这里有一些文档可以让您深入了解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‘方法。这是保存表单和发送电子邮件的位置。您需要添加代码来循环遍历字段,并将它们保存到表单上指定的dataobject。
https://stackoverflow.com/questions/10184097
复制