protected function wrapFieldsAroundPage($page, $pageVersion) { $language = $this->LanguageDetector->current(); // loading primary language if language cannot be detected $languageId = $language ? $language->id : $this->Config->get('devise.primary_language_id.primary_language_id'); $globalFields = $this->GlobalField->where('language_id', $languageId)->get(); $page = $this->wrapTheseFieldsAroundThisPage($globalFields, $page); $page = $this->wrapTheseFieldsAroundThisPage($pageVersion->fields, $page); $page = $this->wrapTheseCollectionsAroundThisPage($this->CollectionsRepository->findCollectionsForPageVersion($pageVersion), $page); return $page; }