/** * 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); }
/** * 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); }
/** * 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); }