pvtl/voyager-forms

此包已被放弃且不再维护。未建议替代包。

Ahoy! - 将表单实现到 Voyager 的包

维护者

详细信息

github.com/pvtl/voyager-forms

源代码

安装数: 37 161

依赖: 0

建议者: 0

安全: 0

星星: 63

关注者: 6

分支: 21

0.4.10 2021-05-03 23:15 UTC

This package is auto-updated.

Last update: 2021-08-03 23:54:32 UTC


README

The Missing Form Module for The Missing Laravel Admin.

Laravel 包将动态表单创建和简码插入到 Voyager 项目中。

  • 创建与管理表单及其字段(添加字段,拖放排序等)
  • 使用简单简码在前端输出表单({!! forms(<FORM_ID>) !!}
  • 前端每个表单的输出都可以通过自定义布局来覆盖
  • 所有提交都通过可覆盖的 HTML 邮件模板以电子邮件形式发送
  • 所有提交都备份到数据库,并在 Voyager 管理员 > 表单 > 咨询下可访问

Pivotal Agency 构建。

先决条件

安装

# 1. Require this Package in your fresh Laravel/Voyager project
composer require pvtl/voyager-forms

# 2. Run the Installer
composer dump-autoload && php artisan voyager-forms:install

# 3. Configure to/from addresses
        -> Navigate to Admin -> Settings -> 'Forms' tab
        -> Adjust values
        -> Note: If you leave `Default Enquiry To Email` blank and set no email in the form setting, email will not be sent
        
# 4. Configure "MAIL" environment variables

# 5. (optional) Add Google invisible reCAPTCHA
        -> Navigate to Admin -> Settings -> 'Admin' tab
        -> Insert Google reCATPCHA keys 

显示表单

您可以在前端以任何类型的输出轻松显示创建的表单 - 我们使用简码来渲染表单,所以请将 {!! forms(1) !!} 添加到页面/帖子中,以查看默认联系表单。

表单钩子

您还希望在表单提交时(但在提交保存到数据库之前 - 例如,以便您可以执行自定义验证)包含自定义逻辑和功能。这可以通过一个 表单钩子 块来完成 - 简单地指定您的控制器命名空间路径和您要调用的方法,Voyager 表单模块将在提交时自动执行它。例如

Pvtl\AwesomeModule\Somewhere\ClassName::anExampleHey('hello world')

注意,在上面的示例中,实际方法的第一个参数是提交数据,第二个参数是 'hello world'

自定义表单输出

此模块以基本结构在前端输出表单。然而,您很容易构建自己的表单布局。

一个完全自定义的布局

  • views/vendor/voyager-forms/layouts 中创建一个新的 blade 模板
  • 在 Voyager 管理员中编辑表单并选择您创建的新布局

要获得完全自定义的输出,您可能需要定义包括每个表单字段在内的 <form> HTML。

覆盖字段

您还可以覆盖 views/vendor/voyager-forms/forms/render.blade.php 来更改表单字段的样式。

自定义电子邮件模板

此模块发送一个看起来很普通的电子邮件,每个提交都发送一个。然而,您很容易构建自己的电子邮件模板。

  • views/vendor/voyager-forms/email-templates 中创建一个新的模板(您也可以简单地覆盖同一位置下的 default.blade.php
  • 在Voyager Admin中编辑表单并选择合适的电子邮件模板

使用输入类型

大多数输入类型都是相当直观的。有两个非标准字段是提交和分组字段。以下是它们的使用方法:

分组

您可以使用两个分组字段来分组表单字段。第一个分组字段的标签将是您分组字段的标题。您可以添加自定义CSS类,这将添加到分组字段标题的span以及包含字段的分组字段div中,就像任何其他表单元素一样。默认的相应类是 .groupedInput 和 .groupedInputTitle。由于包不包含任何CSS,我们鼓励您在应用程序中为这两个类设置样式。

您需要在表单构建器中创建一个“分组”字段,这两个字段分别位于您想要开始和结束分组字段的地方。如果您缺少一个关闭的分组字段,它将在表单末尾自动关闭。

提交

您可以使用提交输入字段自定义提交按钮的文本和表单的CSS。您应该在表单构建器的末尾添加此内容。