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 @@ + \ 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')