aon2003/laravel-page-titles

一个简单的包,使在Laravel应用程序中设置页面标题变得更加容易。

v1.0.0 2022-10-30 17:34 UTC

This package is auto-updated.

Last update: 2024-10-01 00:09:09 UTC


README

GitHub issues GitHub forks GitHub stars GitHub license Latest Version on Packagist GitHub Code Style Action Status Total Downloads

这个简单的包只有一个目的:将设置页面标题的工作压缩到一个文件中。

它通过中间件在所有blade模板和视图中提供全局变量 $page_title

支持我们

Buy Me A Coffee

安装

您可以通过composer安装此包

composer require aon2003/laravel-page-titles

接下来,您需要发布一个配置文件和一个语言文件

php artisan vendor:publish --tag="laravel-page-titles"

最后,您需要将自定义中间件添加到您的 app/Http/Kernel.php 文件中,将其添加到您的Web中间件组中。

'web' => [
    ...
    \Aon2003\PageTitles\Middleware\PageTitles::class,
],

用法

为了使库正常工作,您所有的路由都必须有名称。安装后,全局变量 $page_title 将在所有blade组件中可用。它将包含当前路由的名称,这将用于匹配您在翻译文件 lang/en/page_titles.php 中配置的标题。

默认情况下,page_titles.php 文件只包含两个针对路由名称 'index' 和 'home' 的默认页面标题。

return [
    'index' => env('APP_NAME', 'Home Page'),
    'home' => env('APP_NAME', 'Home Page'),
];

您可以通过在此文件中添加行来添加自定义标题

return [
    ...
    '{route_name}' => '{page_title}',
];

然后,在您的blade文件中,您应该添加以下行以便显示标题

<title>{{ __($page_title) }}</title>

带变量的页面标题

如果您希望能够在页面标题中传递变量,您应该将它们作为数组传递给视图,在语言文件中的标题中添加编号占位符,并更改blade文件中的 <title> 标签

page_titles.php:

return [
    ...
    'index' => 'Hello, :0!',
];

控制器:

function index() {
    $page_props = ['Alex'];
    
    return view('{page}', compact('page_props'));
}

{page}.blade.php:

<title>{{ __($page_title, $page_params ?? []) }}</title>

生成的页面标题应为: Hello, Alex!

翻译文件名

如果您想使用不同的翻译文件名,您需要重命名翻译文件,并将 page_titles.php 配置文件中的 translation_file_name 变量更改为您要使用的文件名。

page_titles.php:

return [
    /*
    |--------------------------------------------------------------------------
    | Translation File Name
    |--------------------------------------------------------------------------
    |
    | Used to find the page titles translations.
    | If you change the translation file name, you MUST change this variable, too!
    |
    */

    'translation_file_name' => 'page-titles',
];

国际化

如果您的项目支持国际化,您只需在 lang 文件夹中添加更多的 {language_code}/page_title.php 文件即可。有关更多信息,请参阅官方的 Laravel 文档

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件