/**
  * translate all strings marked as multi lang
  *
  * @param ObjectEvent $event serialization event
  *
  * @return void
  */
 public function onPostSerialize(ObjectEvent $event)
 {
     $object = $event->getObject();
     foreach ($this->localizedFields[\spl_object_hash($object)] as $field => $value) {
         $event->getVisitor()->addData($field, $this->utils->getTranslatedField($value));
     }
 }
Пример #2
0
 /**
  * translate all strings marked as multi lang
  *
  * @param ObjectEvent $event serialization event
  *
  * @return void
  */
 public function onPostSerialize(ObjectEvent $event)
 {
     $object = $event->getObject();
     if (!$object instanceof TranslatableDocumentInterface) {
         return;
     }
     foreach ($this->localizedFields[\spl_object_hash($object)] as $field => $value) {
         if (substr($field, -2, 2) === '[]') {
             $field = substr($field, 0, -2);
             $event->getVisitor()->addData($field, array_map([$this->utils, 'getTranslatedField'], $value));
         } else {
             $event->getVisitor()->addData($field, $this->utils->getTranslatedField($value));
         }
     }
 }