/** * @param \Orm\Zed\CmsBlock\Persistence\PavCmsBlock $cmsBlock * @param array $formattedLocalizedBlocks * * @return array */ protected function formatMissingLocales(PavCmsBlock $cmsBlock, array $formattedLocalizedBlocks) { $locales = $this->localeFacade->getLocaleCollection(); foreach ($locales as $locale) { $localeName = $locale->getLocaleName(); if (!isset($formattedLocalizedBlocks[$localeName])) { $formattedLocalizedBlocks[$localeName] = [LocalizedBlockForm::FIELD_ID_CMS_LOCALIZED_BLOCK => null, LocalizedBlockForm::FIELD_FK_CMS_BLOCK => $cmsBlock->getIdCmsBlock(), LocalizedBlockForm::FIELD_FK_LOCALE => $locale->getIdLocale(), LocalizedBlockForm::FIELD_VALUES => null]; } } return $formattedLocalizedBlocks; }
/** * @param array $localizedBlocks * @param \Generated\Shared\Transfer\BlockTransfer $blockTransfer * * @return void */ protected function addLocalizedBlockTransfers(array $localizedBlocks, BlockTransfer $blockTransfer) { $localeCollection = $this->localeFacade->getLocaleCollection(); foreach ($localizedBlocks as $localizedBlock) { $localeName = $localizedBlock[self::LOCALE_NAME]; if (!isset($localeCollection[$localeName])) { continue; } $locale = $localeCollection[$localeName]; $localizedBlockTransfer = new BlockLocalizedTransfer(); $localizedBlockTransfer->setLocale($locale); $localizedBlockTransfer->setValues(json_encode($localizedBlock[self::VALUES])); $blockTransfer->addLocalizedBlocks($localizedBlockTransfer); } }