Beispiel #1
0
 /**
  * Hydration handler for the legacy object.
  *
  * @param HydrationEvent $event
  */
 public function hydrateLegacyHandler(HydrationEvent $event)
 {
     $entity = $event->getArgument('entity');
     if ($entity instanceof Content) {
         $entity->setLegacyService($this->legacy);
     }
 }
Beispiel #2
0
 /**
  * Hydration handler for the legacy object.
  *
  * @param HydrationEvent $event
  */
 public function hydrateLegacyHandler(HydrationEvent $event)
 {
     $entity = $event->getArgument('entity');
     if (get_class($entity) === 'Bolt\\Storage\\Entity\\Content') {
         $entity->setLegacyService($this->legacy);
     }
 }
 /**
  * StorageEvents::PRE_HYDRATE event callback.
  *
  * @param HydrationEvent $event
  */
 public function preHydrate(HydrationEvent $event)
 {
     $request = $this->requestStack->getCurrentRequest();
     if ($request === null) {
         return;
     }
     $localeSlug = $request->get('_locale');
     /** @var Content $entity */
     $entity = $event->getArgument('entity');
     $subject = $event->getSubject();
     if (!$entity instanceof Content || $request->request->getBoolean('no_locale_hydrate')) {
         return;
     }
     $contentTypeName = $entity->getContenttype();
     $contentType = $this->boltConfig->get('contenttypes/' . $contentTypeName);
     if (isset($subject[$localeSlug . 'data'])) {
         $localeData = json_decode($subject[$localeSlug . 'data'], true);
         foreach ($localeData as $key => $value) {
             if ($contentType['fields'][$key]['type'] !== 'repeater') {
                 $subject[$key] = is_array($value) ? json_encode($value) : $value;
             }
         }
     }
 }