Add hook for supplying additional URLs for a page
Add a hookable method to define additional URLs for each page included in the sitemap apart from its actual URL.
Mainly useful for adding dynamic URL segments:
-
https://example.web/artists/some-artist/
(included) -
https://example.web/de/kuenstler/ein-kuenstler/
(included) -
https://example.web/artists/some-artist/gallery/
(URL segment added via hook) -
https://example.web/de/kuenstler/ein-kuenstler/galerie/
(URL segment added via hook)
Example hook:
wire()->addHookAfter('MarkupSitemap::getAdditionalPageUrls', function ($event) {
$page = $event->arguments(0);
$language = $event->arguments(1);
if ($page->template == 'artist') {
$urls = [
// Gallery sub-page
'gallery' => [
'url' => $page->httpUrl([
'language' => $language,
'urlSegmentStr' => _x('gallery', 'Slug'),
]),
'modified' => $page->images->first->modified,
],
// Profile sub-page
'profile' => [
'url' => $page->httpUrl([
'language' => $language,
'urlSegmentStr' => _x('profile', 'Slug'),
]),
'priority' => 0.2,
],
];
}
$event->return = $urls;
});