66
77use Netgen \Bundle \IbexaSiteApiBundle \Controller \Controller as BaseController ;
88use Netgen \Bundle \IbexaSiteApiBundle \View \ContentView ;
9+ use Netgen \Layouts \HttpCache \TaggerInterface ;
910use Netgen \Layouts \Layout \Resolver \LayoutResolverInterface ;
1011use Netgen \OpenApiIbexa \Page \Output \OutputVisitor ;
1112use Netgen \OpenApiIbexa \Page \PageFactory ;
@@ -23,6 +24,7 @@ public function __construct(
2324 private LayoutResolverInterface $ layoutResolver ,
2425 private PageFactory $ pageFactory ,
2526 private OutputVisitor $ outputVisitor ,
27+ private TaggerInterface $ layoutsTagger ,
2628 ) {}
2729
2830 public function __invoke (ContentView $ view ): JsonResponse
@@ -31,9 +33,14 @@ public function __invoke(ContentView $view): JsonResponse
3133 $ queryDefinitionCollection = $ view ->getParameter (ContentView::QUERY_DEFINITION_COLLECTION_NAME );
3234
3335 $ rule = $ this ->layoutResolver ->resolveRule ();
36+ $ layout = $ rule ?->getLayout();
37+
38+ if ($ layout !== null ) {
39+ $ this ->layoutsTagger ->tagLayout ($ layout );
40+ }
3441
3542 $ 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 ),
3744 );
3845
3946 return new JsonResponse (
0 commit comments