pstaender/silverstripe-customformpage

通过CMS中的文本输入定义自定义表单字段

安装: 146

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 1

开放问题: 1

类型:silverstripe-vendormodule

v0.4.0 2024-05-26 05:44 UTC

This package is auto-updated.

Last update: 2024-08-26 06:09:30 UTC


README

使用这种简洁的语法在你的创建的 CustomFormPage 中定义自定义表单字段

    {{ FieldName | My Field: | Dropdown | { "Option1": "Foo", "Option2": "Bar" } }}
    {{ FieldName * | My Required Field: | Textarea }}
    {{ Captcha |  | Recaptcha }}

你可以使用任意数量的表单字段。

要求

  • SilverStripe 4+

参数

以下参数以 | 分隔,列在每个 {{ }} 表单字段块中(参数顺序 不是 随意的)

  1. 名称:以驼峰命名法描述字段名称的字符串;例如:EmailFirstName … * 如果以 * 结尾,则为必填字段;例如:Email *
  2. 标题:字符串,作为标题,可以包含除 | 分隔符之外的任何字符;例如:Your eMail:
  3. 字段类:可以是每个现有的字段类,不包括 Field 后缀;例如:TextTextareaEmailDropdown
  4. (关联) 数组作为字段的选项 * 可选 * 必须是JSON * 例如对于 DropdownField 必须指定

模板中使用

您可以通过 $CustomForm 访问表单

  <% with $MyCustomFormPage %>
    <h1>$Title</h1>
    $CustomForm
  <% end_with %>

注释和HTML标签

您可以使用注释 # 和HTML标签。HTML标签将被转换为SilverStripe LiteralFields

    # My advanced Poll Form Desctiption
    {{ Email * | Your eMail (required): | Email }}
    <hr />
    <h2>Additional Information</h2>
    # Description of something
    {{ Age | Your age: | Dropdown | { "Under20": "younger or just 20", "Over20": "older than 20" } }}

排除表单提交中的字段

您可以通过配置显式地防止字段写入提交。只需在您的配置中定义它们即可

CustomFormPageSubmission:
  excludeParameters:
    - Foo
    - Bar

模板变量

您可以在模板中检查 $FormWasSuccessfullySended$FormWasSubmitted

许可协议

(C) 2017 由 Philipp Staender 制作,MIT 许可协议