syscover/forms

此包的最新版本(v2.0.1)没有可用的许可证信息。

表单包

v2.0.1 2016-09-29 15:49 UTC

This package is auto-updated.

Last update: 2024-08-28 00:22:37 UTC


README

Total Downloads

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
}