/** * @param LifecycleEventArgs $event */ public function postLoad(LifecycleEventArgs $event) { $entity = $event->getEntity(); if (!$entity instanceof TranslatableInterface) { return; } $localeContext = $this->getLocaleContext(); $resource = $this->getResource(ClassUtils::getClass($entity)); $translationFactory = $this->getTranslationFactory($resource->getRelation('translation')->getName()); $entity->setLocales($localeContext->getLocales()); $entity->setFallbackLocale($localeContext->getFallbackLocale()); $entity->setTranslationFactory($translationFactory); }
/** * @param LifecycleEventArgs $event */ public function postLoad(LifecycleEventArgs $event) { $entity = $event->getEntity(); if (!$entity instanceof TranslatableInterface) { return; } $localeContext = $this->getLocaleContext(); $entity->setLocales($localeContext->getLocales()); $entity->setFallbackLocale($localeContext->getFallbackLocale()); $class = ClassUtils::getClass($entity); foreach ($this->getResourceRegistry() as $resource) { if ($resource->getModel() === $class) { $entity->setTranslationClass($resource->getTranslation()->getModel()); break; } } }
/** * @param FormEvent $event */ public function manage(FormEvent $event) { if ($this->collection === null || !$event->getForm()->isValid()) { return; } $collection = $event->getData(); if (!$collection instanceof Collection) { return; } foreach ($this->collection as $element) { if ($collection->contains($element)) { continue; } if (($resource = $this->resolveResource(ClassUtils::getClass($element))) !== null) { $this->managerRegistry[$resource->getName()]->remove($element); } } }
/** * @param mixed[] $config * * @return string */ protected function buildForm(array $config) { return isset($config['form']) ? $config['form'] : ClassUtils::getClass($this->filterFormRegistry[$this->buildType($config)]); }