v0.2 2018-09-29 08:10 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:09 UTC


README

免责声明(pt_BR)

此存储库是pvtl/voyager-forms包的修改版本。pvtl/voyager-forms。为了更好地与其他Versatile项目库集成,已实施了一些更改。

缺失的Laravel后台表单模块。

此Laravel包为Versatile项目添加了动态表单创建和短代码插入功能。

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

先决条件

  • 已安装Node & NPM
  • 已安装Composer
  • 安装Laravel
  • 安装Versatile
  • 安装Versatile Front

安装

# 1. Require this Package in your fresh Versatile project
composer require versatilecms/forms

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

# 3. Configure to/from addresses
        -> Navigate to Admin -> Settings -> 'Forms' tab
        -> Adjust values
        
# 4. Configure "MAIL" environment variables

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

显示表单

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

表单钩子

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

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

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

自定义表单输出

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

完全自定义布局

  • views/vendor/forms/layouts中创建一个新的blade模板
  • 在Versatile Admin中编辑表单并选择您创建的新布局

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

覆盖字段

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

自定义电子邮件模板

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

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