예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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;
 }