versatilecms / forms
v0.2
2018-09-29 08:10 UTC
Requires
- guzzlehttp/guzzle: ~6.0
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中编辑表单并选择适当的电子邮件模板