sebacarrasco93 / laravel-simple-sitemap
Laravel Simple Sitemap
1.0.1
2024-03-07 17:30 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
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)。请参阅 许可证文件 了解更多信息。