diff --git a/trunk/app/Resources/views/default/components/sitemap/sitemapNode.html.twig b/trunk/app/Resources/views/default/components/sitemap/sitemapNode.html.twig
new file mode 100644
index 00000000..2320d3f6
--- /dev/null
+++ b/trunk/app/Resources/views/default/components/sitemap/sitemapNode.html.twig
@@ -0,0 +1,18 @@
+
+ {% for page_node in page_nodes %}
+
+ {% set default_url = base_url|default('') ~ '/' ~ page_node.slug %}
+
+ -
+
+ {{ page_node.title }}
+
+ {% if page_node.__children is not empty %}
+ {% include 'default/components/sitemap/sitemapNode.html.twig' with {
+ page_nodes: page_node.__children,
+ base_url: default_url,
+ } %}
+ {% endif %}
+
+ {% endfor %}
+
\ No newline at end of file
diff --git a/trunk/app/Resources/views/default/pages/sitemap.html.twig b/trunk/app/Resources/views/default/pages/sitemap.html.twig
new file mode 100644
index 00000000..9776f6bb
--- /dev/null
+++ b/trunk/app/Resources/views/default/pages/sitemap.html.twig
@@ -0,0 +1,5 @@
+{% extends get_base_template() %}
+
+{% block body %}
+ {% include 'default/components/sitemap/sitemapNode.html.twig' %}
+{% endblock body %}
\ No newline at end of file
diff --git a/trunk/src/AppBundle/Controller/DefaultController.php b/trunk/src/AppBundle/Controller/DefaultController.php
index 2a54601d..996a5507 100644
--- a/trunk/src/AppBundle/Controller/DefaultController.php
+++ b/trunk/src/AppBundle/Controller/DefaultController.php
@@ -214,13 +214,22 @@ class DefaultController extends Controller
->getQuery()
->execute()
;
- //$rootNodes[0]->
- /** @var Page $node */
+ /** @var Page[] $pageNodes Actually no entity objects but associative arrays representing page entities */
+ $pageNodes = [];
foreach ($rootNodes as $rootNode)
{
- // #TODO
- $repo->childrenHierarchy($rootNode);
+ $pageNodes[] = $repo->buildTree($repo->getNodesHierarchyQueryBuilder($rootNode, false, [], true)
+ ->leftJoin('node.travelProgram', 'tp')
+ ->andWhere('(tp.id IS NULL OR tp.status = 1)')
+ ->andWhere('node.status = 1')
+ ->getQuery()
+ ->getArrayResult()
+ )[0];
}
+ return $this->render('default/pages/sitemap.html.twig', [
+ 'breadcrumb_entries' => [new BreadcrumbEntry('Sitemap')],
+ 'page_nodes' => $pageNodes
+ ]);
}
/*
diff --git a/trunk/src/AppBundle/Entity/PageRepository.php b/trunk/src/AppBundle/Entity/PageRepository.php
index 7016cda0..8ab2313d 100644
--- a/trunk/src/AppBundle/Entity/PageRepository.php
+++ b/trunk/src/AppBundle/Entity/PageRepository.php
@@ -49,6 +49,8 @@ class PageRepository extends NestedTreeRepository
->innerJoin('node.travelProgram', 'tp')
->innerJoin('tp.countries', 'c')
->where('c.id = '. $country->getId())
+ ->andWhere('node.status = 1')
+ ->andWhere('tp.status = 1')
->getQuery()
->execute()
;
@@ -68,8 +70,8 @@ class PageRepository extends NestedTreeRepository
->addSelect('tp')
->innerJoin('tp.countries', 'c')
->where('c.id = '. $country->getId())
- ->andWhere('node.status > 0')
- ->andWhere('tp.status > 0')
+ ->andWhere('node.status = 1')
+ ->andWhere('tp.status = 1')
->orderBy('node.order')
->addOrderBy('tp.position')
->addOrderBy('node.title')