<?php
namespace Whater\Infrastructure\CommonBundle\Subscriber;
use Whater\Infrastructure\CommonBundle\Subscriber\AbstractBusSitemapSubscriber;
use Presta\SitemapBundle\Event\SitemapPopulateEvent;
use Presta\SitemapBundle\Sitemap\Url\GoogleMultilangUrlDecorator;
use Presta\SitemapBundle\Sitemap\Url\UrlConcrete;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
class SitemapWebpagesSubscriber extends AbstractBusSitemapSubscriber
{
/**
* @var UrlGeneratorInterface
*/
private $urlGenerator;
/**
* @param UrlGeneratorInterface $urlGenerator
*/
public function __construct(
UrlGeneratorInterface $urlGenerator
) {
$this->urlGenerator = $urlGenerator;
}
/**
* @inheritdoc
*/
public static function getSubscribedEvents()
{
return [
SitemapPopulateEvent::class => 'registerWebpagesPages',
];
}
/**
* @param SitemapPopulateEvent $event
*/
public function registerWebpagesPages(SitemapPopulateEvent $event)
{
// home page
$homepageUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_homepage',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_WEEKLY
),
'es'
);
// Homepage Page
$event->getUrlContainer()->addUrl(
$homepageUrl,
'website'
);
// web_public_whater_map page
$haterMapUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_public_whater_map',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_public_whater_map Page
$event->getUrlContainer()->addUrl(
$haterMapUrl,
'website'
);
// web_whater_for_users page
$wfuUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_whater_for_users',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_whater_for_users Page
$event->getUrlContainer()->addUrl(
$wfuUrl,
'website'
);
// web_whater_for_professionals page
$wfpUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_whater_for_professionals',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_whater_for_professionals Page
$event->getUrlContainer()->addUrl(
$wfpUrl,
'website'
);
// web_whater_for_managers page
$wfmUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_whater_for_managers',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_whater_for_managers Page
$event->getUrlContainer()->addUrl(
$wfmUrl,
'website'
);
// web_whatiswhater page
$wiwUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_whatiswhater',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_whatiswhater Page
$event->getUrlContainer()->addUrl(
$wiwUrl,
'website'
);
// web_contact page
$wcUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_contact',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_contact Page
$event->getUrlContainer()->addUrl(
$wcUrl,
'website'
);
// web_login page
$wlUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_login',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_login Page
$event->getUrlContainer()->addUrl(
$wlUrl,
'website'
);
// web_signup page
$wspUrl = new GoogleMultilangUrlDecorator(
new UrlConcrete(
$this->urlGenerator->generate(
'web_signup',
[
'_locale' => 'es'
],
UrlGeneratorInterface::ABSOLUTE_URL
),
null,
UrlConcrete::CHANGEFREQ_MONTHLY
),
'es'
);
// web_login Page
$event->getUrlContainer()->addUrl(
$wspUrl,
'website'
);
}
}