syscover / forms
表单包
Requires
- php: >=5.6.4
- google/recaptcha: ~1.1
- syscover/pulsar: ~2.0
This package is auto-updated.
Last update: 2024-08-28 00:22:37 UTC
README
Forms是一个管理表单的应用程序,将任何表单注册到数据库中,forms的主要特点包括:
- 支持通过ajax和submit发送表单
- 可以将表单重新发送到任意多的邮箱
- 创建自定义状态
- 将状态分配给每个表单的每条记录
- 为每条记录创建注释
- 通过电子邮件通知,每条记录的状态更改或新评论都会收到通知
安装
要安装此模块,需要先安装pulsar模块,如果尚未安装,请访问Pulsar仓库。
1 - 安装Laravel框架后,在composer.json文件中的require对象中插入此值
"syscover/forms": "~2.0"
并在控制台执行
composer update
2 - 注册服务提供者,在config/app.php文件中将提供者数组中添加
Syscover\Forms\FormsServiceProvider::class,
3 - 执行发布命令
php artisan vendor:publish
4 - 执行优化命令,加载新类
php artisan optimize
5 - 执行迁移和数据库填充
php artisan migrate
php artisan db:seed --class="FormsTableSeeder"
6 - 执行加载所有更新的命令
php artisan migrate --path=database/migrations/updates
激活包
访问Pulsar面板,然后转到
管理->权限->配置文件,通过点击打开锁将所有权限设置到您的配置文件中。
转到管理 -> 包,编辑已安装的包并激活它。
实施
安装并激活包后,我们必须在管理->账户中创建一个发送账户,我们需要服务器数据以及账户的用户名和密码。
创建邮箱账户后,我们转到 表单->主表->首选项 部分,选择默认的记录状态,如果需要更改或添加更多状态,可以从 表单->主表->状态 部分进行操作,并选择用于发送通知的账户。
最后,我们需要在 表单->表单 中创建一个表单,表单的ID将用于将记录与表单关联,在javascript程序中指定ID。
为了在javascript中实施,需要在您将要实施表单的页面中添加以下库
<script src="{{ asset('packages/syscover/forms/vendor/jquery.forms/jquery.forms.js') }}"></script>
然后,您需要声明一个javascript插件,它将使您的表单能够发送并注册到数据库
$('#form').forms({
id: 1, // Aquí el ID del registro del formulario que has creada en la sección Forms -> Forms
debug: false,
ajax: true,
fields: {
name: 'name',
surname: 'surname',
company: 'company',
email: 'email',
subject: 'subject',
data: ['message','field-1','field-2','field-3', ...] // here you can add fields
}
}, function(response){
if(response.success)
{
// form submit successful
}
}).on('forms:submit', function(event){
// here check your form, if are any error to stop execution use event.preventDefault();
}).on('forms:error', function(event, error) {
console.log(event);
console.log(error);
});
您可以通过data属性向表单添加属性
data-length: Tamaño del campo que tendrá en el panel de control, de 1 a 10
data-label: Título del campo que se le asignará
在您的环境变量文件中配置以下变量,如果您使用Google ReCaptcha
GOOGLE_RECAPTCHA_SITE_KEY=your site key
GOOGLE_RECAPTCHA_SECRET_KEY=your secret key
要使用Google ReCaptcha,您需要在表单中添加以下标签
<div class="g-recaptcha" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>
Forms将负责验证,将错误返回到'forms:error'事件
可能返回的错误对象中的错误
一般错误
{
success: false,
code: 0,
message: "",
nativeError: Object
}
未点击reCaptcha的错误
{
success: false,
code: 1,
message: "reCaptcha input isn't checked",
nativeError: null
}