tm/silex-sitemap-service-provider

此包已被弃用,不再维护。未建议替代包。

生成 xml-sitemap 的简单服务提供商。

4.0.0 2017-02-23 09:07 UTC

This package is auto-updated.

Last update: 2021-06-11 20:30:37 UTC


README

Build Status Latest Stable Version License Issues Total Downloads

该服务提供商支持 Silex 的两个主要版本。

安装

针对基于 Silex >= 2.0.0 的应用程序

composer require tm/silex-sitemap-service-provider ^4.0

如果您的应用程序中使用 Silex 1.3.x 或更低版本

composer require tm/silex-sitemap-service-provider ^3.0

基本用法示例

首先您需要注册 ServiceProvider

    $app->register(new TM\Provider\SitemapServiceProvider());

可选地,您也可以为生成器设置一些选项

    $app->register(new TM\Provider\SitemapServiceProvider(), [
        'sitemap.options' => [
            'charset' => 'ISO-8859-1',
            'version' => '1.0',
            'scheme' => 'http://www.sitemaps.org/schemas/sitemap/0.8'
        ]
    ]);

然后实现 sitemap.xml 的路由,并使用您的自定义逻辑

    $app->get('sitemap.xml', function () use ($app) {
  
      $host = $app['request']->getSchemeAndHttpHost();
      
      $sitemap = $app['sitemap'];
      $sitemap->addEntry($host . '/', 1, 'yearly');
      
      $entities = $app['repository.entity']->findAll(50000);
  
      foreach ($entities as $entity) {
        $entityLoc = $app['url_generator']->generate('entity', array('entity' => $entity->getId()));
        $sitemap->addEntry($host . $entityLoc, 0.8, 'monthly', $entity->getLastModified());
      }
  
      return $sitemap->generate();
    })
    ->bind('sitemap');

贡献

请参考 CONTRIBUTING.md 获取有关如何贡献的信息。

开发

在项目目录中运行以下命令以运行测试。

composer install
./vendor/bin/behat