Skip to content

JTubex/silex-sitemap-service-provider

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

silex-sitemap-service-provider

Build Status Latest Stable Version License Issues Total Downloads

Installation

composer require tm/silex-sitemap-service-provider

Example Basic Usage

First you have to register the ServiceProvider:

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

Optional you can also set some options for the generator:

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

Then implement the route for the sitemap.xml with your custom logic:

    $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

Please refer to CONTRIBUTING.md for information on how to contribute.

Development

Run tests with the following command in the project directory.

composer install
./vendor/bin/behat 

About

Simple sitemap generator provider for Silex.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 65.7%
  • Gherkin 34.3%