Esempio n. 1
0
 /**
  * Changes SEO Fields for an object.
  *
  * @param ModelCriteria  $query
  * @param UpdateSeoEvent $event
  *
  * @return mixed                   an SEOxxx object
  * @throws FormValidationException if a rewritten URL cannot be created
  */
 protected function genericUpdateSeo(ModelCriteria $query, UpdateSeoEvent $event)
 {
     if (null !== ($object = $query->findPk($event->getObjectId()))) {
         $object->setDispatcher($event->getDispatcher())->setLocale($event->getLocale())->setMetaTitle($event->getMetaTitle())->setMetaDescription($event->getMetaDescription())->setMetaKeywords($event->getMetaKeywords())->save();
         // Update the rewritten URL, if required
         try {
             $object->setRewrittenUrl($event->getLocale(), $event->getUrl());
         } catch (UrlRewritingException $e) {
             throw new FormValidationException($e->getMessage(), $e->getCode());
         }
         $event->setObject($object);
     }
     return $object;
 }