如何解决带有面包屑的 Laravel 8 添加动态页面标题
我使用 laravel-breadcrumbs 包由 diglactic 和 laravel 8 分叉 davejamesmiller/laravel-breadcrumbs 我正在尝试基于此面包屑包添加动态页面标题。
我所说的动态页面标题是什么意思?假设我拥有的每个页面都包含一个页面标题部分,如下所示:
HTML: (每个页面在导航栏下方都有此部分)
<section class="py-5 text-center container">
<div class="row py-lg-5">
<div class="col-lg-6 col-md-8 mx-auto">
<h1 class="fw-bold mb-4">Page Title Here</h1> // Dynamic Page Title Here
</div>
</div>
</section>
解决方法
您可以使用 @yield
动态更改模板的一部分。
查看documentation了解更多信息。
@yield 用于动态标题
这里我创建了一个 template.blade.php
文件和 title.blade.php
。
title.blade.php
是扩展 template.blade.php
文件,标题可以动态完美运行。
template.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>@yield('title')</title>
</head>
<body>
The title is dynamically
</body>
</html>
title.blade.php
@extends('template')
@section('title')
My Title
@endsection
,
您可以制作自己的面包屑。首先你应该生成类似于 php artisan make:component breadcrumb
的刀片组件,然后查看代码,我无论如何都使用它并且它成功
AppServiceProvider.php
public function boot()
{
// your prev code
view()->share('currentPath',explode('/',substr_replace(request()->path(),'',3)));
}
components/breadcrumb.blade.php
<nav>
<ul class="breadcrumbs">
<li class="breadcrumb-item pl-0">
<a href="{{ route('home') }}">Home</a>
</li>
@foreach ($paths as $path)
<li class="breadcrumb-item pl-0 text-capitalize
{{ $loop->last ? 'active' : '' }}">
<a href="{{ url($path) }}">
{{ str_replace('-',' ',$path) }}
</a>
</li>
@endforeach
</ul>
</nav>
并在任何像这样的视图中使用它
<x-breadcrumb :paths="$currentPath" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。