sebacarrasco93/laravel-simple-sitemap

Laravel Simple Sitemap

1.0.1 2024-03-07 17:30 UTC

This package is auto-updated.

Last update: 2024-09-08 04:01:52 UTC


README

一个非常简单的包:动态创建网站地图

安装

您可以通过 composer 安装此包

composer require sebacarrasco93/laravel-simple-sitemap

您可以使用以下命令发布配置文件:

php artisan vendor:publish --tag="simple-sitemap-config"

这是已发布配置文件的内容

return [    

    'default_frequency' => 'monthly',
    
    'default_priority' => '0.50',
];

用法

为 Eloquent 集合创建网站地图

假设您想为所有类别创建网站地图,您只需3步即可完成!

// app/Models/Category

use SebaCarrasco93\SimpleSitemap\Traits\SimpleSitemapCollection; // 👈 1: Import Trait

class Category extends Model
{
    use HasFactory;
    // ...
    use SimpleSitemapCollection; // 👈 2: Use the trait

    // ...

    // 👇 Step 3: Create getSitemapUrlAttribute() method and specify the full url
    public function getSitemapUrlAttribute(): string 
    {
        return route('category.show', $this);
    }
}

现在,您可以使用它

// web.php, controller or equivalent

$categories = Category::get();

return SimpleSitemap::fromEloquentCollection($categories);

我可以简化语法吗?当然可以!

return Category::sitemap(); // Equivalent to SimpleSitemap::fromEloquentCollection(Category::get());

高级用法

只为活跃类别创建网站地图?当然可以!

return Category::where('active', true)
    ->sitemap();

为活跃的类别和最后10个类别创建网站地图?这是 Eloquent 和 Laravel!

$active_categories = Category::where('active', true)
    ->orderBy('desc', 'id')->take(10)->get();

return SimpleSitemap::fromCollection($active_categories);

简单易行!

可选地,您可以使用网站地图集合创建索引网站地图

$routes = [
    route('sitemaps/index-1'), // You can pass it as a route
    'https://yourdomain.com/sitemaps/index-2', // or, as full path
    '/sitemaps/index-3', // as a relative path, too
];

return SimpleSitemap::index($routes);

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请查看 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。