コード例 #1
0
 /**
  * {@inheritDoc}
  */
 public function loadClassMetadata(EventArgs $eventArgs)
 {
     $ea = $this->getEventAdapter($eventArgs);
     $meta = $eventArgs->getClassMetadata();
     $name = $meta->getName();
     if (isset($this->translations[$name])) {
         $ea->mapTranslation($meta, $this->translations[$name]);
         unset($this->translations[$name]);
         return;
     }
     parent::loadClassMetadata($eventArgs);
     if (isset(static::$configurations[$this->name][$name])) {
         if ($name === $ea->getRootObjectClass($meta)) {
             $translationClass = static::$configurations[$this->name][$name]['translationClass'];
             $this->translations[$translationClass] = $name;
             // load translation class metadata if not loaded yet
             $ea->getObjectManager()->getClassMetadata($translationClass);
             $ea->mapTranslatable($meta, $translationClass);
         }
     }
 }