rapidez/sitemap 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rapidez/sitemap

最新稳定版本:5.0.0

Composer 安装命令:

composer require rapidez/sitemap

包简介

Rapidez sitemap index through Eventy filters

README 文档

README

Rapidez sitemap index through Eventy filters

Installation

composer require rapidez/sitemap

Configuration

You can publish the configuration file with:

php artisan vendor:publish --tag=config --provider="Rapidez\Sitemap\SitemapServiceProvider"

This will create a config/rapidez-sitemap.php file where you can configure:

  • disk: The Laravel filesystem disk to use (defaults to 'public')
  • path: The path within the disk where sitemaps will be stored (defaults to root)

Make sure the specified disk is properly configured in your application's config/filesystems.php.

Views

You can publish the views with:

php artisan vendor:publish --tag=rapidez-sitemap-views

Sitemap Generation

To generate the sitemap manually, use:

php artisan rapidez:sitemap:generate

This command will generate sitemap.xml for the default store and sitemap_{store_id}.xml for additional stores in your configured storage location.

If you'd like to schedule the sitemap generation you can add the rapidez:sitemap:generate command in routes/console.php, for more information see Task Scheduling

Schedule::command('rapidez:sitemap:generate')->twiceDaily(0, 12);

Hooking into the Generation Action

When the rapidez:sitemap:generate command runs, an Eventy action rapidez.sitemap.generate is triggered.

You can hook into this generation process by adding an action in the boot method of your service provider:

Eventy::addAction('rapidez.sitemap.generate', fn() => DoMagicHere(), 20, 1);

Adding Additional Sitemap Indexes with Eventy

If you have additional indexes, such as CMS pages or other custom routes, you can dynamically add them to your sitemap index based on the Store ID using the rapidez.site.{storeId} filter provided by Eventy.

To do this, simply add the following code to the appropriate place in your application (e.g., in a service provider or a dedicated sitemap configuration file):

use TorMorten\Eventy\Facades\Eventy;

Eventy::addFilter('rapidez.sitemap.{storeId}', function ($sitemaps) {
    // Add your custom sitemap URL here
    $sitemaps[] = [
        'url' => 'your-custom-sitemap.xml',
        'lastmod' => now()->toDateString(),
    ];
    
    return $sitemaps;
}, 20, 1);

License

GNU General Public License v3. Please see License File for more information.

统计信息

  • 总下载量: 4.92k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 5
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2024-11-05