artjoker/sitemap

该包最新版本(1.0.0)没有可用的许可信息。

Laravel 应用程序的站点地图

1.0.0 2019-08-05 07:50 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:38 UTC


README

这是一个实现站点地图功能的 Laravel 包。

安装

composer require artjoker/sitemap

更新 composer 后,将服务提供者添加到 config/app.php 文件中的 providers 数组中

Artjoker\Sitemap\Providers\SiteMapServiceProvider::class

发布迁移和 CSS 样式

php artisan vendor:publish --tag=sitemap-migrations
php artisan vendor:publish --tag=sitemap-styles

可选功能

        /**
         * prefix to configurate url to sitemap
         */
        'route_prefix' => env('BACKEND_URL', 'backend'),

        /**
         * config for route prefix
         */
        'route_as' => 'backend.',

        /**
         * driver for sitemap.xml
         */
        'filesystem_driver' => 'public',

        /**
         * routes middleware
         */
        'route_middleware' => ['web'],

        /**
         * to use feature your model have to use trait Sitemap
         * or release method getUrls where you return array with prepared URL's for siteMap
         */
        'dynamic_url_classes' => [

        ],

        // Route names for siteMap
        'static_routes' => [

        ],

        /**
         * enable multi-language urls
         */
        'enable_locales' => false,

        /**
         * Hide default locale in url from app.locale config
         */
        'hide_default_locale' => false,

        /**
         * locales to multi-language urls
         */
        'locales' => [
            'en',
        ],

        /**
         * how many pages will be in one file
         */
        'sitemap_count' => 40000,

        /**
         * Command to generate SiteMap
         */
        'sitemap_generate_command' => 'sitemap:generate',

        /**
         * Jobs priority
         */
        'jobs_priority' => 'default',

如何使用?

<?php

class Pages extends Model
{
    use Sitemap;
}

您可以指定列名和基础 URL。只需将参数添加到您的模型中

    public $columnName = 'alias';

    public $baseUrl = null;

或重写方法

    public function getUrls() : array
    {
        return $urls;
    }

    public function makeUrl($baseUrl, $item) : string
    {
        return $url
    }

您可以通过链接:{yourAppUrl}/backend/sitemap 的界面按钮或使用命令上传 URL 到数据库

    php artisan sitemap:load:urls 

当您需要重写特定模型的 URL 时,可以使用选项 --model=App/Models/Pages

    php artisan sitemap:load:urls --model=App/Models/Pages

使用命令创建站点地图

    php artisan sitemap:generate

或者您也可以使用界面按钮。

我们可以发布什么?

php artisan vendor:publish --tag=sitemap-config
php artisan vendor:publish --tag=sitemap-lang
php artisan vendor:publish --tag=sitemap-migrations
php artisan vendor:publish --tag=sitemap-styles
php artisan vendor:publish --tag=sitemap-views

说明

其他配置说明在配置文件中。