/** * @param \Generated\Shared\Transfer\PageTransfer $page * @param string $placeholder * @param string $keyName * @param string $value * @param \Generated\Shared\Transfer\LocaleTransfer|null $localeTransfer * * @return \Generated\Shared\Transfer\PageKeyMappingTransfer */ protected function createGlossaryPageKeyMapping(PageTransfer $page, $placeholder, $keyName, $value, LocaleTransfer $localeTransfer = null) { $idKey = $this->glossaryFacade->getOrCreateKey($keyName); $this->createGlossaryTranslation($keyName, $value, $localeTransfer); $pageKeyMapping = $this->createPageKeyMappingTransfer($page, $placeholder, $idKey); return $pageKeyMapping; }
/** * @param \Generated\Shared\Transfer\PageTransfer $pageTransfer * @param \Generated\Shared\Transfer\LocaleTransfer|null $localeTransfer * * @return void */ public function touchPageActive(PageTransfer $pageTransfer, LocaleTransfer $localeTransfer = null) { $pageMappings = $this->cmsQueryContainer->queryGlossaryKeyMappingsByPageId($pageTransfer->getIdCmsPage())->find(); foreach ($pageMappings as $pageMapping) { $this->glossaryFacade->touchTranslationForKeyId($pageMapping->getFkGlossaryKey(), $localeTransfer); } $this->touchFacade->touchActive(CmsConstants::RESOURCE_TYPE_PAGE, $pageTransfer->getIdCmsPage(), true); }