예제 #1
0
 /**
  * Update the locale to the shadow locale, if it is enabled.
  *
  * Note that this should happen before the fallback locale has been resolved
  *
  * @param HydrateEvent $event
  */
 public function doHydrate(AbstractMappingEvent $event)
 {
     $node = $event->getNode();
     $locale = $event->getLocale();
     $document = $event->getDocument();
     $shadowLocaleEnabled = $this->getShadowLocaleEnabled($node, $locale);
     $document->setShadowLocaleEnabled($shadowLocaleEnabled);
     if (!$shadowLocaleEnabled) {
         return;
     }
     $document->setShadowLocale($this->getShadowLocale($node, $locale));
     $shadowLocale = $this->getShadowLocale($node, $locale);
     $this->registry->updateLocale($document, $shadowLocale, $locale);
     $event->setLocale($shadowLocale);
 }
예제 #2
0
 /**
  * Update the locale to the shadow locale, if it is enabled.
  *
  * Note that this should happen before the fallback locale has been resolved
  *
  * @param AbstractMappingEvent $event
  */
 public function handleHydrate(AbstractMappingEvent $event)
 {
     $document = $event->getDocument();
     if (!$document instanceof ShadowLocaleBehavior) {
         return;
     }
     $node = $event->getNode();
     $locale = $event->getLocale();
     $shadowLocaleEnabled = $this->getShadowLocaleEnabled($node, $locale);
     $document->setShadowLocaleEnabled($shadowLocaleEnabled);
     if (!$shadowLocaleEnabled) {
         return;
     }
     $shadowLocale = $this->getShadowLocale($node, $locale);
     $document->setShadowLocale($shadowLocale);
     $this->registry->updateLocale($document, $shadowLocale, $locale);
     $event->setLocale($shadowLocale);
 }
예제 #3
0
 /**
  * Update the locale to the shadow locale, if it is enabled.
  *
  * Note that this should happen before the fallback locale has been resolved
  *
  * @param AbstractMappingEvent $event
  */
 public function handleHydrate(AbstractMappingEvent $event)
 {
     $document = $event->getDocument();
     if (!$document instanceof ShadowLocaleBehavior || !$event->getOption('load_shadow_content')) {
         return;
     }
     $node = $event->getNode();
     $locale = $this->inspector->getOriginalLocale($document);
     $shadowLocaleEnabled = $this->getShadowLocaleEnabled($node, $locale);
     $document->setShadowLocaleEnabled($shadowLocaleEnabled);
     if (!$shadowLocaleEnabled) {
         return;
     }
     $shadowLocale = $this->getShadowLocale($node, $locale);
     $document->setShadowLocale($shadowLocale);
     $event->setLocale($shadowLocale);
     $document->setLocale($shadowLocale);
 }