导航栏品牌的Laravel动态页面标题

时间:2015-12-28 16:51:21

标签: php jquery twitter-bootstrap laravel dynamic

我有layouts.app.blade.php,其中包含<html><body>标记以及<nav>
<body>我为每个页面生成内容,因此它们基本上扩展了这个app.blade.php 所有基本的Laravel东西,所以现在我有这个:

 <div class="navbar-header">
    <!-- Collapsed Hamburger -->
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#spark-navbar-collapse">
        <span class="sr-only">Toggle Navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
    <!-- Branding Image -->
    <a class="navbar-brand" href="/">
        *Dynamic page title*
    </a>
</div>
// ...
@yield('content')

我想使用此<a class="navbar-brand">来显示我的pagetitle。因此,这意味着必须更改每个加载的模板(使用@yield(&#39;内容&#39;))在此父母.blade.php&#39;。

如何使用Laravel 5.2进行此操作?

非常感谢

4 个答案:

答案 0 :(得分:25)

如果这是您的母版页标题

<html>
<head>
    <title>App Name - @yield('title')</title>
</head>
<body>
    @section('sidebar')
        This is the master sidebar.
    @show

    <div class="container">
        @yield('content')
    </div>
</body>

然后您的页面标题可以在您的刀片页面中更改,如下所示

@extends('layouts.master')

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

@section('sidebar')
@parent

<p>This is appended to the master sidebar.</p>
@endsection

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

可在此处找到更多信息Laravel Docs

答案 1 :(得分:0)

您可以将其传递给视图,例如

<强>控制器

$title = 'Welcome';

return view('welcome', compact('title'));

查看

isset($title) ? $title : 'title';

或php7

$title ?? 'title';
  

Null coalescing operator

答案 2 :(得分:0)

这样的刀片视图-

return view('front.list',compact('artists','letter'));

代替-

return view('front.list',compact('artists'));

现在您可以在视图中使用:

<title>Artists begging with {{ $letter }}</title>

答案 3 :(得分:0)

在您的控制器中声明一个名为 title 的变量并将其压缩如下

undefined

在您的视图页面中调用如下变量

// Retrieve product featured imgae.
add_shortcode( 'product_img', 'dcwd_product_img_from_produt_id' );
function dcwd_product_img_from_produt_id() {
    $product_id = get_the_ID();
    $product_img = 'unknown';

    if ( is_int( $product_id ) ) {
        $product_img = get_the_post_thumbnail_url( $product_id, 'large' );
    }

    $path = $product_img;
    $type = pathinfo($path, PATHINFO_EXTENSION);
    $data = file_get_contents($path);
    $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

    return html_entity_decode( $base64 );
}