Skip to content
This repository was archived by the owner on Aug 8, 2021. It is now read-only.

Commit 51ec85d

Browse files
committed
Pages can now marked as "home" / Indexpage
1 parent db0ad79 commit 51ec85d

7 files changed

Lines changed: 76 additions & 4 deletions

File tree

Admin/PageAdmin.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ protected function configureFormFields(FormMapper $formMapper)
2727
->add('isPublic', null, array(
2828
'label' => 'label.cms.admin.page_is_public',
2929
))
30+
->add('isHome', null, array(
31+
'label' => 'label.cms.admin.page_is_home',
32+
))
3033
;
3134
}
3235

@@ -48,6 +51,9 @@ protected function configureListFields(ListMapper $listMapper)
4851
->add('isPublic', null, array(
4952
'label' => 'label.cms.admin.page_is_public',
5053
))
54+
->add('isHome', null, array(
55+
'label' => 'label.cms.admin.page_is_home',
56+
))
5157
;
5258
}
5359
}

Controller/PageController.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@
99

1010
class PageController extends Controller
1111
{
12+
/**
13+
* @Route("/", name="cms_index")
14+
* @Template()
15+
*/
16+
public function indexAction()
17+
{
18+
$em = $this->getDoctrine()->getManager();
19+
$repo = $em->getRepository('CmsBundle:Page');
20+
21+
$page = $repo->findOneByIsHome(1);
22+
23+
return array('page' => $page);
24+
}
25+
1226
/**
1327
* @Route("/{slug}", name="cms_page")
1428
* @Template()

Entity/MenuItem.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class MenuItem
4949
/**
5050
* @var Page
5151
*
52-
* @ORM\OneToOne(targetEntity="Devtronic\CmsBundle\Entity\Page")
52+
* @ORM\ManyToOne(targetEntity="Devtronic\CmsBundle\Entity\Page")
5353
*/
5454
private $targetPage;
5555

Entity/Page.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ class Page
6565
private $isPublic;
6666

6767

68+
/**
69+
* @var bool
70+
*
71+
* @ORM\Column(name="is_home", type="boolean")
72+
*/
73+
private $isHome;
74+
6875
/**
6976
* Get id
7077
*
@@ -226,6 +233,30 @@ public function preUpdate() {
226233
$this->setUpdated(new \DateTime());
227234
}
228235

236+
/**
237+
* Set isHome
238+
*
239+
* @param boolean $isHome
240+
*
241+
* @return Page
242+
*/
243+
public function setIsHome($isHome)
244+
{
245+
$this->isHome = $isHome;
246+
247+
return $this;
248+
}
249+
250+
/**
251+
* Get isHome
252+
*
253+
* @return boolean
254+
*/
255+
public function getIsHome()
256+
{
257+
return $this->isHome;
258+
}
259+
229260
public function __toString()
230261
{
231262
return $this->getTitle();

Form/MenuItemTargetType.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88

99
class MenuItemTargetType extends AbstractType
1010
{
11+
1112
public function configureOptions(OptionsResolver $resolver)
1213
{
1314
$resolver->setDefaults(array(
1415
'choices' => array(
15-
0 => 'label.cms.admin.page_intern',
16-
1 => 'label.cms.admin.page_extern',
17-
2 => 'label.cms.admin.page_route',
16+
'label.cms.admin.page_intern' => 0,
17+
'label.cms.admin.page_extern' => 1,
18+
'label.cms.admin.page_route' => 2,
1819
),
1920
));
2021
}

Resources/translations/messages.de.xlf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
<source>breadcrumb.link_page_list</source>
1515
<target>Seiten</target>
1616
</trans-unit>
17+
<trans-unit id="breadcrumb.link_menu_create">
18+
<source>breadcrumb.link_menu_create</source>
19+
<target>Menü anlegen</target>
20+
</trans-unit>
21+
<trans-unit id="breadcrumb.link_menu_item_create">
22+
<source>breadcrumb.link_menu_item_create</source>
23+
<target>Menüeintrag hinzufügen</target>
24+
</trans-unit>
1725
<trans-unit id="label.admin.group.cms_bundle">
1826
<source>label.admin.group.cms_bundle</source>
1927
<target>CMS Bundle</target>
@@ -78,6 +86,10 @@
7886
<source>label.cms.admin.page_is_public</source>
7987
<target>Ist öffentlich?</target>
8088
</trans-unit>
89+
<trans-unit id="label.cms.admin.page_is_home">
90+
<source>label.cms.admin.page_is_home</source>
91+
<target>Ist Startseite?</target>
92+
</trans-unit>
8193
<trans-unit id="label.cms.admin.page_intern">
8294
<source>label.cms.admin.page_intern</source>
8395
<target>Interne Seite</target>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{% extends "::base.html.twig" %}
2+
3+
{% block title %}{{ page.title }}{% endblock %}
4+
5+
{% block body %}
6+
<h1>{{ page.title }}</h1>
7+
{{ page.content | raw }}
8+
{% endblock %}

0 commit comments

Comments
 (0)