V Laravel, layout hraje významnou roli při vytváření uživatelského rozhraní pro webovou aplikaci. Rozvržení představuje celkovou strukturu webové stránky, včetně běžných sekcí, jako jsou header
, footer
a sidebar
. V tomto článku prozkoumáme, jak zabudovat rozvržení Laravel pro vytvoření flexibilních a udržovatelných rozhraní.
Nejprve si vytvoříme základní layout pro naše webové stránky. Začněte vytvořením souboru s názvem app.blade.php
v adresáři. Tento soubor bude sloužit jako hlavní rozvržení pro celý web. resources/views/layouts
Zde je příklad obsahu souboru app.blade.php
:
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
</head>
<body>
<header>
<h1>Header</h1>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
<main>
@yield('content')
</main>
<footer>
<p>Footer</p>
</footer>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
V tomto rozložení používáme @yield
direktivy k definování dynamických sekcí v rámci rozložení. Například @yield('title')
umožňuje dítěti přepsat a nastavit název stránky. Podobně umožňuje dítěti vložit hlavní obsah stránky. views @yield('content')
views
Jakmile je rozložení vytvořeno, můžeme vytvořit potomka, který toto rozložení využije. Chcete-li například vytvořit stránku s podobným rozložením, vytvořte soubor s názvem v adresáři. Tento soubor rozšíří rozvržení a definuje konkrétní obsah stránky: views about
about.blade.php
resources/views
app.blade.php
about
@extends('layouts.app')
@section('title', 'About')
@section('content')
<h2>About Page</h2>
<p>This is the about us page.</p>
@endsection
Ve výše uvedeném příkladu používáme @extends
direktivu ke zdědění app.blade.php
rozložení. Dále použijeme @section
direktivu k definování konkrétního obsahu pro sekce title
a content
stránky.
Nakonec musíme definovat cesty k propojení URL s příslušným. views
routes/web.php
Do souboru můžete například přidat následující trasy:
Route::get('/', function() {
return view('welcome');
});
Route::get('/about', function() {
return view('about');
});
V tomto příkladu je URL "/" propojeno s welcome.blade.php
view, zatímco /about
URL je propojeno s about.blade.php
view.
Závěrem lze říci, že rozvržení budovy Laravel vám umožňuje vytvořit sdílené rozhraní pro vaši webovou aplikaci a spravovat běžné sekce, jako jsou header
, footer
a sidebar
. Pomocí rozložení a potomka můžete vytvářet flexibilní a udržovatelná rozhraní v. views Laravel