webpress/dynamic-contact-form

此包的最新版本(3.1.87)没有可用的许可信息。

Laravel 动态联系表单包


README

安装

Composer

要将此包包含到您的项目中,请运行以下命令。

composer require webpress/dynamic-contact-form

迁移

运行以下命令以创建表

php artisan migrate

配置

运行以下命令以发布配置文件

php artisan vendor:publish --provider="VCComponent\Laravel\ConfigContact\Providers\ConfigContactServiceProvider"

示例:联系页面可以有 3 个位置显示联系表单。在 dynamic-contact-form.php 中,您可以定义页面和联系表单的位置如下

<?php
return [
 ....
    'page'            => [
        'contact' => [
            'label'    => 'Contact',
            'position' => [
                'position-1' => 'On the left',
                'position-2' => 'On the right',
                'position-3' => 'Main position',
            ],
        ],
    ],
];

内核

protected $middleware = [
  .....
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class
];

视图/Composer & AppServiceProvider

创建 ContactFormComposer.php

use VCComponent\Laravel\ConfigContact\Entites\ContactForm;
...
class ContactFormComposer{
    public function compose(View $view)
    {
        $contact_form = new ContactForm;
        $view->with('contact_form', $contact_form);
    }
}

AppServiceProvider.php

use App\Http\View\Composers\ContactFormComposer;
...
public function boot()
{
    View::composer('[The.page.has.a.contact.form]', ContactFormComposer::class);
}

前端

contact.blade.php 中,使用以下代码显示联系表单

 @if ($errors->any())
    <div class="alert alert-danger">
        <ul ">
            @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
    @endif
    @if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif
@include('contact_form::show-contact-form', ['page' => 'contact', 'position ' => 'position-1' ])

路由

API 端点应具有以下格式

动词 URI 动作
管理员
GET /api/admin/contact-form/ 索引
GET /api/admin/contact-form/{id} 显示
POST /api/admin/contact-form 存储
PUT /api/admin/contact-form/{id} 更新
DELETE /api/admin/contact-form/{id} 销毁
PUT /api/admin/contact-form/{id}/change-status 更改状态
GET /api/admin/contact-forms/list 列表
------ ---------------------------------- --------
GET /api/admin/contact-form-input/{id} 显示
POST /api/admin/contact-form-input 存储
PUT /api/admin/contact-form-input/{id} 更新
DELETE /api/admin/contact-form-input/{id} 销毁
------ ---------------------------------- --------
GET /api/admin/contact-form-value 索引
GET /api/admin/contact-form-value/{id} 显示
PUT /api/admin/contact-form-value/{id} 更新
DELETE /api/admin/contact-form-value/{id} 销毁
PUT /api/admin/contact-form-value/{id}/status 更改状态
------ ---------------------------------- --------
GET /api/admin/contact-form/{id}/contact-form-value 获取有效载荷
GET /api/admin/contact-form/get-page-list 获取页面列表
GET /api/admin/get-position-list/{slug} 获取位置列表
前端
POST /send-contact-infor 存储