在主版面中包含注册表单

问题描述 投票:0回答:1

我想将我的注册表单放在Laravel应用的页脚中,以便它显示在页脚的所有页面上。我对此一无所知。希望了解控制器和表格的基本示例代码。联系表

                    <input type="text" name="email" placeholder="Email" value="{{old('email') }}">
                    <span class="errors">{{ $errors->first('email') }} </span>

                  @csrf
                  <span class="subscribe-button"><input type="submit" value="subscribe" /></span>
             </form>
        </div>

SubscribeController.php

      <?php

       namespace App\Http\Controllers;

       use App\Mail\SubscribeMail;
       use Illuminate\Http\Request;
       use Illuminate\Support\Facades\Mail

       class SubscribeController extends Controller
        {
         public function create()
          {
          return view('contact.subscribe');
          }


       public function store()
           {
          $data = request()->validate([
        'email' => 'required|email',
        ]);

         Mail::to('[email protected]')->send(new SubscribeMail($data));

         return redirect('');
       }

subscribe.blade使用@include('contact.subscribe')在我的页脚内部

laravel
1个回答
0
投票

您走在正确的轨道上,继续前进!但是,存储功能内部存在一些问题:

public function store(Request $request)
{
           $data = $request()->validate([
            'email' => 'required|email',
           ]);

         Mail::to('[email protected]')->send(new SubscribeMail($data));

         return redirect()->route('home');
}

无论如何,如果您希望包括出现在所有页面上的注册表单,则应定义一个具有基本页眉,页脚和注册表单的布局。

<!-- Stored in resources/views/layouts/app.blade.php -->
<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        <div class="container">
            @yield('content')
        </div>
        <footer>
          <p>Amazing footer with the sign-up form</p>
          <form>
            <!-- Inputs -->
          </form>
        </footer>
    </body>
</html>

之后,您可以创建任意数量的页面,这将扩展您的主布局。

<!-- Stored in resources/pages/home.blade.php -->
@extends('layouts.app')

@section('title', 'Home Page')

@section('content')
    <p>This is my Home page.</p>
@endsection

阅读有关Laravel官方文档的更多信息-https://laravel.com/docs/6.x/blade#defining-a-layout

© www.soinside.com 2019 - 2024. All rights reserved.