123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- /**
- * @file
- * Hooks provided by the Simple XML sitemap module.
- */
- /**
- * @addtogroup hooks
- * @{
- */
- /**
- * Alter the generated link data before the sitemap is saved.
- * This hook gets invoked for every sitemap chunk generated.
- *
- * @param array &$links
- * Array containing multilingual links generated for each path to be indexed
- *
- * @param string|null $sitemap_variant
- */
- function hook_simple_sitemap_links_alter(array &$links, $sitemap_variant) {
- // Remove German URL for a certain path in the hreflang sitemap.
- foreach ($links as $key => $link) {
- if ($link['path'] === 'node/1') {
- // Remove 'loc' URL if it points to a german site.
- if ($link['langcode'] === 'de') {
- unset($links[$key]);
- }
- // If this 'loc' URL points to a non-german site, make sure to remove
- // its german alternate URL.
- else {
- if ($link['alternate_urls']['de']) {
- unset($links[$key]['alternate_urls']['de']);
- }
- }
- }
- }
- }
- /**
- * Add arbitrary links to the sitemap.
- *
- * @param array &$arbitrary_links
- * @param string|null $sitemap_variant
- */
- function hook_simple_sitemap_arbitrary_links_alter(array &$arbitrary_links, $sitemap_variant) {
- // Add an arbitrary link to all sitemap variants.
- $arbitrary_links[] = [
- 'url' => 'http://some-arbitrary-link/',
- 'priority' => '0.5',
- // An ISO8601 formatted date.
- 'lastmod' => '2012-10-12T17:40:30+02:00',
- 'changefreq' => 'weekly',
- 'images' => [
- ['path' => 'http://path-to-image.png']
- ],
- // Add alternate URLs for every language of a multilingual site.
- // Not necessary for monolingual sites.
- 'alternate_urls' => [
- 'en' => 'http://this-is-your-life.net/de/tyler',
- 'de' => 'http://this-is-your-life.net/en/tyler',
- ]
- ];
- // Add an arbitrary link to the 'fight_club' sitemap variant only.
- switch ($sitemap_variant) {
- case 'fight_club':
- $arbitrary_links[] = [
- 'url' => 'http://this-is-your-life.net/tyler',
- ];
- break;
- }
- }
- /**
- * Alters the sitemap attributes shortly before XML document generation.
- * Attributes can be added, changed and removed.
- *
- * @param array &$attributes
- * @param string|null $sitemap_variant
- */
- function hook_simple_sitemap_attributes_alter(array &$attributes, $sitemap_variant) {
- // Remove the xhtml attribute e.g. if no xhtml sitemap elements are present.
- unset($attributes['xmlns:xhtml']);
- }
- /**
- * Alters attributes of the sitemap index shortly before XML document generation.
- * Attributes can be added, changed and removed.
- *
- * @param array &$index_attributes
- * @param string|null $sitemap_variant
- */
- function hook_simple_sitemap_index_attributes_alter(array &$index_attributes, $sitemap_variant) {
- // Add some attribute to the sitemap index.
- $index_attributes['name'] = 'value';
- }
- /**
- * Alter properties of and remove URL generator plugins.
- *
- * @param array $url_generators
- */
- function hook_simple_sitemap_url_generators_alter(array &$url_generators) {
- // Remove the entity generator.
- unset($url_generators['entity']);
- }
- /**
- * Alter properties of and remove sitemap generator plugins.
- *
- * @param array $sitemap_generators
- */
- function hook_simple_sitemap_sitemap_generators_alter(array &$sitemap_generators) {
- // Remove the default generator.
- unset($sitemap_generators['default']);
- }
- /**
- * Alter properties of and remove sitemap type plugins.
- *
- * @param array $sitemap_types
- */
- function hook_simple_sitemap_sitemap_types_alter(array &$sitemap_types) {
- }
- /**
- * @} End of "addtogroup hooks".
- */
|