Skip to content
Snippets Groups Projects
Commit e8b29c37 authored by Georgi Mateev's avatar Georgi Mateev
Browse files

[BUGFIX] Check rootline when generating sitemap

parent 2d714adf
No related branches found
No related tags found
1 merge request!34[BUGFIX] Check rootline when generating sitemap
......@@ -31,7 +31,10 @@ class AccessPageListEventListener {
*/
public function __invoke(AccessPageListEvent $event) {
$pageList = $event->getPageList();
$additionalPageList = $this->sitemapService->generatePagesList($event->getSysLanguageUid());
$additionalPageList = $this->sitemapService->generatePagesList(
$event->getSysLanguageUid(), $event->getSite()->getRootPageId()
);
ArrayUtility::mergeRecursiveWithOverrule($pageList, $additionalPageList);
$event->setPageList($pageList);
}
......
......@@ -28,9 +28,10 @@ class SitemapService {
* Generate a pageList array for the sitemap generation
*
* @param int $sysLanguageUid
* @param int $rootPageId
* @return array
*/
public function generatePagesList(int $sysLanguageUid): array {
public function generatePagesList(int $sysLanguageUid, int $rootPageId = 0): array {
$pageList = [];
// find sites where job detail plugin is added
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
......@@ -55,11 +56,13 @@ class SitemapService {
)
->execute();
$rows = $databaseResource->fetchAll();
$context = GeneralUtility::makeInstance(Context::class);
foreach ($rows as $row) {
while ($row = $databaseResource->fetch()) {
try {
$site = GeneralUtility::makeInstance(SiteFinder::class)->getSiteByPageId($row['pid']);
if ($rootPageId > 0 && $site->getRootPageId() !== $rootPageId) {
continue;
}
$jobs = $this->getJobsByPid($row['pages'], $sysLanguageUid);
foreach ($jobs as $job) {
$url = $site->getRouter($context)->generateUri(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment