@@ -22,15 +22,29 @@ class LinkExtension extends \Twig_Extension
22
22
protected $ BusinessPageHelper ; // @victoire_business_page.business_page_helper
23
23
protected $ pageHelper ;
24
24
protected $ em ; // @doctrine.orm.entity_manager
25
+ protected $ abstractBusinessTemplates ;
25
26
27
+ /**
28
+ * LinkExtension constructor.
29
+ *
30
+ * @param Router $router
31
+ * @param RequestStack $requestStack
32
+ * @param $analytics
33
+ * @param BusinessEntityHelper $businessEntityHelper
34
+ * @param BusinessPageHelper $BusinessPageHelper
35
+ * @param PageHelper $pageHelper
36
+ * @param EntityManager $em
37
+ * @param array $abstractBusinessTemplates
38
+ */
26
39
public function __construct (
27
40
Router $ router ,
28
41
RequestStack $ requestStack ,
29
42
$ analytics ,
30
43
BusinessEntityHelper $ businessEntityHelper ,
31
44
BusinessPageHelper $ BusinessPageHelper ,
32
45
PageHelper $ pageHelper ,
33
- EntityManager $ em
46
+ EntityManager $ em ,
47
+ $ abstractBusinessTemplates = []
34
48
) {
35
49
$ this ->router = $ router ;
36
50
$ this ->request = $ requestStack ->getCurrentRequest ();
@@ -39,6 +53,7 @@ public function __construct(
39
53
$ this ->BusinessPageHelper = $ BusinessPageHelper ;
40
54
$ this ->pageHelper = $ pageHelper ;
41
55
$ this ->em = $ em ;
56
+ $ this ->abstractBusinessTemplates = $ abstractBusinessTemplates ;
42
57
}
43
58
44
59
/**
@@ -212,6 +227,9 @@ public function victoireMenuLink($parameters, $label, $attr = [])
212
227
213
228
public function victoireBusinessLink ($ businessEntityInstance , $ templateId = null , $ referenceType = UrlGeneratorInterface::ABSOLUTE_PATH )
214
229
{
230
+ if (isset ($ this ->abstractBusinessTemplates [$ templateId ])) {
231
+ $ templateId = $ this ->abstractBusinessTemplates [$ templateId ];
232
+ }
215
233
if (!$ templateId ) {
216
234
$ templateId = $ this ->BusinessPageHelper
217
235
->guessBestPatternIdForEntity (new \ReflectionClass ($ businessEntityInstance ), $ businessEntityInstance ->getId (), $ this ->em );
0 commit comments