darvinstudio / darvin-sitemap-bundle
This bundle provides simple sitemap generating functionality for Symfony2-based applications.
Installs: 133
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- symfony/symfony: >=2.7
This package is auto-updated.
Last update: 2024-12-15 20:02:34 UTC
README
This bundle provides simple sitemap generating functionality for Symfony2-based applications.
Installation
1. Add bundle to "required" section of composer.json:
"require": { "darvinstudio/darvin-sitemap-bundle": "1.0.*" }
2. Download bundle using Composer:
$ /usr/bin/env php composer.phar update darvinstudio/darvin-sitemap-bundle
3. Register bundle in AppKernel.php:
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Darvin\SitemapBundle\DarvinSitemapBundle(), // ... ); }
4. Import routing configuration from bundle to app routing configuration:
# app/config/routing.yml darvin_sitemap: resource: "@DarvinSitemapBundle/Resources/config/routing.yml" prefix: /
Usage
1. Create class implementing \Darvin\SitemapBundle\Url\SitemapUrlProviderInterface interface.
// src/AppBundle/Sitemap/TestSitemapUrlProvider.php <?php namespace AppBundle\Sitemap; use Darvin\SitemapBundle\Url\SitemapUrl; use Darvin\SitemapBundle\Url\SitemapUrlProviderInterface; class TestSitemapUrlProvider implements SitemapUrlProviderInterface { public function getSitemapUrls() { $urls = array(); $urls[] = new SitemapUrl('http://example.com', new \DateTime('2016-01-01'), 'always', 0.5); return $urls; } }
2. Define created class as a service and tag it with "darvin_sitemap.url_provider".
# app/config/services.yml app.sitemap.url_provider.test: class: AppBundle\Sitemap\TestSitemapUrlProvider tags: - { name: darvin_sitemap.url_provider }
3. Target web browser to http://your-domain.com/sitemap.xml to get your sitemap.
Configuration reference
darvin_sitemap: cache_max_age: 3600 # Shared cache max age, 60 minutes # Read http://symfony.com/doc/current/book/http_cache.html to know how to enable shared cache, which is highly recommended template: DarvinSitemapBundle:Sitemap:sitemap.xml.twig