Skip to content

Commit 5d23018

Browse files
committed
Merge pull request #125 from paulandrieux/bugfix/viewReferenceId-in-pattern-pages
store main current page in CurrentViewHelper in order to reuse it for…
2 parents a6cb676 + aa703d9 commit 5d23018

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

Bundle/CoreBundle/Helper/CurrentViewHelper.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
class CurrentViewHelper
1111
{
1212
protected $currentView;
13+
protected $mainCurrentView;
1314

1415
/**
1516
* Get currentView
@@ -20,6 +21,15 @@ public function getCurrentView()
2021
{
2122
return $this->currentView;
2223
}
24+
/**
25+
* Get mainCurrentView
26+
*
27+
* @return View
28+
*/
29+
public function getMainCurrentView()
30+
{
31+
return $this->mainCurrentView;
32+
}
2333

2434
/**
2535
* Set currentView
@@ -30,6 +40,9 @@ public function getCurrentView()
3040
*/
3141
public function setCurrentView(View $currentView)
3242
{
43+
if ($this->currentView == null) {
44+
$this->mainCurrentView = clone $currentView;
45+
}
3346
$this->currentView = $currentView;
3447

3548
return $this;

Bundle/CoreBundle/Resources/views/layout.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
{% if view is defined %}
5050
<script type="text/javascript">
51-
var viewReferenceId = '{{ view.reference.id }}';
51+
var viewReferenceId = '{{ vic_current_page_reference() }}';
5252
</script>
5353
{{ render_hinclude(controller('VictoireAnalyticsBundle:BrowseEvent:track', {'viewReferenceId': view.reference.id, 'referer': app.request.headers.get('referer')})) }}
5454
{% endif %}

Bundle/PageBundle/Resources/config/services.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,6 @@ services:
101101
- "@victoire_business_entity_page.business_entity_page_helper"
102102
- "@router"
103103
- "@victoire_page.page_helper"
104+
- "@victoire_core.current_view"
104105
tags:
105106
- { name: twig.extension }

Bundle/PageBundle/Twig/Extension/PageExtension.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Symfony\Bundle\FrameworkBundle\Routing\Router;
66
use Victoire\Bundle\BusinessEntityPageBundle\Entity\BusinessEntityPagePattern;
77
use Victoire\Bundle\BusinessEntityPageBundle\Helper\BusinessEntityPageHelper;
8+
use Victoire\Bundle\CoreBundle\Helper\CurrentViewHelper;
89
use Victoire\Bundle\PageBundle\Entity\BasePage;
910
use Victoire\Bundle\PageBundle\Helper\PageHelper;
1011

@@ -21,14 +22,16 @@ class PageExtension extends \Twig_Extension
2122
* Constructor
2223
*
2324
* @param BusinessEntityPageHelper $businessEntityPagePatternHelper
24-
* @param Router $router
25-
* @param PageHelper $pageHelper
25+
* @param Router $router
26+
* @param PageHelper $pageHelper
27+
* @param CurrentViewHelper $currentViewHelper
2628
*/
27-
public function __construct(BusinessEntityPageHelper $businessEntityPagePatternHelper, Router $router, PageHelper $pageHelper)
29+
public function __construct(BusinessEntityPageHelper $businessEntityPagePatternHelper, Router $router, PageHelper $pageHelper, CurrentViewHelper $currentViewHelper)
2830
{
2931
$this->businessEntityPagePatternHelper = $businessEntityPagePatternHelper;
3032
$this->router = $router;
3133
$this->pageHelper = $pageHelper;
34+
$this->currentViewHelper = $currentViewHelper;
3235
}
3336

3437
/**
@@ -39,6 +42,7 @@ public function __construct(BusinessEntityPageHelper $businessEntityPagePatternH
3942
public function getFunctions()
4043
{
4144
return array(
45+
new \Twig_SimpleFunction('vic_current_page_reference', array($this, 'victoireCurrentPageReference')),
4246
'cms_page_business_page_pattern_sitemap' => new \Twig_Function_Method($this, 'cmsPageBusinessPagePatternSiteMap', array('is_safe' => array('html'))),
4347
);
4448
}
@@ -168,4 +172,11 @@ protected function getChildrenUrls(BasePage $page)
168172

169173
return $urls;
170174
}
175+
176+
public function victoireCurrentPageReference()
177+
{
178+
$currentView = $this->currentViewHelper;
179+
180+
return $currentView->getMainCurrentView()->getReference()['id'];
181+
}
171182
}

0 commit comments

Comments
 (0)