You are here

public function SimplesitemapController::getSitemapXsl in Simple XML sitemap 8.3

Same name and namespace in other branches
  1. 4.x src/Controller/SimpleSitemapController.php \Drupal\simple_sitemap\Controller\SimpleSitemapController::getSitemapXsl()

Returns the XML stylesheet for the sitemap.

Return value

\Symfony\Component\HttpFoundation\Response

1 string reference to 'SimplesitemapController::getSitemapXsl'
simple_sitemap.routing.yml in ./simple_sitemap.routing.yml
simple_sitemap.routing.yml

File

src/Controller/SimplesitemapController.php, line 75

Class

SimplesitemapController
Class SimplesitemapController @package Drupal\simple_sitemap\Controller

Namespace

Drupal\simple_sitemap\Controller

Code

public function getSitemapXsl() {

  // Read the XSL content from the file.
  $module_path = drupal_get_path('module', 'simple_sitemap');
  $xsl_content = file_get_contents($module_path . '/xsl/simple_sitemap.xsl');

  // Replace custom tokens in the XSL content with appropriate values.
  $replacements = [
    '[title]' => $this
      ->t('Sitemap file'),
    '[generated-by]' => $this
      ->t('Generated by the <a href="@link">@module_name</a> Drupal module.', [
      '@link' => 'https://www.drupal.org/project/simple_sitemap',
      '@module_name' => 'Simple XML Sitemap',
    ]),
    '[number-of-sitemaps]' => $this
      ->t('Number of sitemaps in this index'),
    '[sitemap-url]' => $this
      ->t('Sitemap URL'),
    '[number-of-urls]' => $this
      ->t('Number of URLs in this sitemap'),
    '[url-location]' => $this
      ->t('URL location'),
    '[lastmod]' => $this
      ->t('Last modification date'),
    '[changefreq]' => $this
      ->t('Change frequency'),
    '[priority]' => $this
      ->t('Priority'),
    '[translation-set]' => $this
      ->t('Translation set'),
    '[images]' => $this
      ->t('Images'),
    '[image-title]' => $this
      ->t('Title'),
    '[image-caption]' => $this
      ->t('Caption'),
    '[jquery]' => base_path() . 'core/assets/vendor/jquery/jquery.min.js',
    '[jquery-tablesorter]' => base_path() . $module_path . '/xsl/jquery.tablesorter.min.js',
    '[parser-date-iso8601]' => base_path() . $module_path . '/xsl/parser-date-iso8601.min.js',
    '[xsl-js]' => base_path() . $module_path . '/xsl/simple_sitemap.xsl.js',
    '[xsl-css]' => base_path() . $module_path . '/xsl/simple_sitemap.xsl.css',
  ];

  // Output the XSL content.
  return new Response(strtr($xsl_content, $replacements), Response::HTTP_OK, [
    'Content-type' => 'application/xml; charset=utf-8',
    'X-Robots-Tag' => 'noindex, nofollow',
  ]);
}