6
6
7
7
use Netgen \Bundle \IbexaSiteApiBundle \Controller \Controller as BaseController ;
8
8
use Netgen \Bundle \IbexaSiteApiBundle \View \ContentView ;
9
+ use Netgen \Layouts \HttpCache \TaggerInterface ;
9
10
use Netgen \Layouts \Layout \Resolver \LayoutResolverInterface ;
10
11
use Netgen \OpenApiIbexa \Page \Output \OutputVisitor ;
11
12
use Netgen \OpenApiIbexa \Page \PageFactory ;
@@ -23,6 +24,7 @@ public function __construct(
23
24
private LayoutResolverInterface $ layoutResolver ,
24
25
private PageFactory $ pageFactory ,
25
26
private OutputVisitor $ outputVisitor ,
27
+ private TaggerInterface $ layoutsTagger ,
26
28
) {}
27
29
28
30
public function __invoke (ContentView $ view ): JsonResponse
@@ -31,9 +33,14 @@ public function __invoke(ContentView $view): JsonResponse
31
33
$ queryDefinitionCollection = $ view ->getParameter (ContentView::QUERY_DEFINITION_COLLECTION_NAME );
32
34
33
35
$ rule = $ this ->layoutResolver ->resolveRule ();
36
+ $ layout = $ rule ?->getLayout();
37
+
38
+ if ($ layout !== null ) {
39
+ $ this ->layoutsTagger ->tagLayout ($ layout );
40
+ }
34
41
35
42
$ data = $ this ->outputVisitor ->visit (
36
- $ this ->pageFactory ->buildPage ($ view ->getSiteContent (), $ view ->getSiteLocation (), $ queryDefinitionCollection , $ rule ?->getLayout() ),
43
+ $ this ->pageFactory ->buildPage ($ view ->getSiteContent (), $ view ->getSiteLocation (), $ queryDefinitionCollection , $ layout ),
37
44
);
38
45
39
46
return new JsonResponse (
0 commit comments