Skip to content

This bundle provides simple sitemap generating functionality for Symfony2-based applications.

License

Notifications You must be signed in to change notification settings

DarvinStudio/DarvinSitemapBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
igor
Feb 26, 2016
4c6a634 · Feb 26, 2016

History

26 Commits
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016
Feb 26, 2016
Feb 26, 2016
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016
Feb 20, 2016

Repository files navigation

DarvinSitemapBundle

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

About

This bundle provides simple sitemap generating functionality for Symfony2-based applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published