我想将我的注册表单放在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')在我的页脚内部
您走在正确的轨道上,继续前进!但是,存储功能内部存在一些问题:
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