collectTemplateFields = $collectTemplateFields; $this->elementTypesTemplatesRepository = $elementTypesTemplatesRepository; $this->templateQuery = $templateQuery; $this->variableReadQuery = $variableReadQuery; } public function list(TemplateFieldsProjectView $templateFieldsProjectView): array { $gab_ids = $this->elementTypesTemplatesRepository->findTemplateIdByElementTypeAndProject($templateFieldsProjectView->elementTypeId, $templateFieldsProjectView->projectId); $templates_id = []; foreach ($gab_ids as $gab_id) { $templates_id[] = $gab_id['template']; } $templateIdsView = new CommonTextView( $templates_id ); $templates = $this->templateQuery->listByTemplateIds($templateIdsView); $list = $this->variableReadQuery->listByTwigsTemplates($templates); return $list; } }