bee-interactive/pagetitle

此软件包已被废弃,并且不再维护。没有建议的替代软件包。

管理Laravel视图中的页面标题

此软件包的官方仓库似乎已不存在,因此该软件包已被冻结。

v0.1.2 2020-03-03 18:28 UTC

This package is auto-updated.

Last update: 2020-09-08 21:45:08 UTC


README

通常,你会发现自己处于需要更多控制如何为不同的视图设置页面标题的情况。虽然可以在主视图中生成页面标题,但处理格式(如分隔符的使用或附加/预置默认页面标题)可能会很麻烦。

此软件包简化了此过程。

安装

首先,通过Composer安装此软件包

composer require bee-interactive/pagetitle

Laravel用户

如果您是Laravel用户,则需要在您的config/app.php文件中添加一个服务提供者。

'providers' => [
    '...',
    Beeinteractive\PageTitle\PageTitleServiceProvider::class
];

此软件包还提供了一个门面,如果您想在控制器和视图中使用门面,也可以将其注册到config/app.php

 'aliases' => [
     '...'
     'PageTitle' => Beeinteractive\PageTitle\Facades\PageTitle::class,
 ]

在Laravel 5.5中,服务提供者和别名是自动注册的。如果您使用的是Laravel 5.5,则可以跳过这些步骤。

版本2.0

如果您仍然使用PHP 7.0或5.6,则需要使用此软件包的版本1.0。版本2.0及以上仅与PHP 7.1或更高版本兼容。

此软件包的版本2.0也兼容Laravel 5.5及更高版本。

用法

要简单添加单个页面标题,调用适当的add()方法,传递一个字符串作为参数

public function index()
{
    \PageTitle::add('Welcome to our Homepage');

    return view('hello');
}

您还可以使用全局的pagetitle辅助函数。

public function index()
{
    pagetitle('Welcome to our Homepage');

    return view('hello');
}

要一次添加多个页面标题部分,只需传递一个数组作为参数。

public function index()
{
    pagetitle([
        'About us',
        'Profile'
    ]);

    return view('hello');
}

将页面标题添加到Blade视图中

现在您可以在视图中显示完整连接的页面标题。最好的方法是在主布局文件中使用它。

<head>
    <meta charset="UTF-8">
    <title>{{ pagetitle()->get() }}</title>
    ...
</head>

要按反向顺序显示完整连接的页面标题,只需传递reverse参数。

<head>
    <meta charset="UTF-8">
    <title>{{ pagetitle()->get('reverse') }}</title>
    ...
</head>

downward模式下,首先将所有页面标题部分按反向顺序连接,然后附加页面名称(如果已设置选项)

<head>
    <meta charset="UTF-8">
    <title>{{ pagetitle()->get('downward') }}</title>
    ...
</head>

默认值

如果使用Laravel,您需要关注三个配置选项。首先,使用以下命令发布默认配置

php artisan vendor:publish --provider="Beeinteractive\PageTitle\PageTitleServiceProvider"

这将在以下位置添加一个新的配置文件:config/pagetitle.php

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Page name
    |--------------------------------------------------------------------------
    |
    | Type your page name for your website.
    | This will be used when there are more titles to concatenate with.
    |
    */
    'page_name' => '',

    /*
    |--------------------------------------------------------------------------
    | Default title when empty
    |--------------------------------------------------------------------------
    |
    | This will be used when therer is no other title.
    | Mainly used for the home page of your website.
    |
    */
    'default_title_when_empty' => '',

    /*
    |--------------------------------------------------------------------------
    | Delimiter
    |--------------------------------------------------------------------------
    |
    | Titles will be concatenated using this delimiter.
    |
    */
    'delimiter' => ' :: ',
];

page_name

如果您愿意,可以在此键中输入您的页面名称,以便将名称附加到/预置到连接的页面标题中。

default_title_when_empty

当集合中没有页面标题部分时,将使用此文本。

delimiter

当您想使用分隔符时,只需更新此键并添加您想要用作分隔符的字符串。

更改配置值

可以通过页面标题对象实例的相应设置方法更改每个配置参数。

  • setDelimeter(delimeter)
  • setPageName(pageName)
  • setDefault(default)

示例用法

public function index()
{
    pagetitle('My Blog Post')->setPageName('My Blog')->setDelimeter(' / ');

    return view('hello');
}

要获取当前配置值,请在页面标题对象实例上使用相应的获取方法。

  • getDelimeter()
  • getPageName()
  • getDefault()