/** * Create node translation seo metadata. * * @param NodeTranslationInterface $translation * * @return SeoMetadataInterface */ public function create(NodeTranslationInterface $translation) { $seoMetadata = $this->seoMetadataManager->create(); $seoMetadata->setLang($translation->getLang()); $seoMetadata->setTitle($translation->getTitle()); $this->seoMetadataManager->add($seoMetadata); return $seoMetadata; }
/** * Process node seo form. * * @param Request $request * @param FormInterface $form * * @return bool */ public function process(Request $request, FormInterface $form) { if ($request->isMethod('POST')) { $form->submit($request); if ($form->isValid()) { /** @var NodeInterface $node */ $node = $form->getData(); foreach ($node->getTranslations() as $translation) { if (null !== ($seoMetadata = $translation->getSeoMetadata())) { $this->seoMetadataManager->add($seoMetadata); } } return true; } } return false; }