Exemple #1
0
 /**
  * Sets the title on the node from the value in the document.
  *
  * @param PersistEvent $event
  */
 public function setTitleOnNode(AbstractMappingEvent $event)
 {
     $document = $event->getDocument();
     if (!$this->supports($document)) {
         return;
     }
     if ($document instanceof LocalizedTitleBehavior) {
         if (!$event->getLocale()) {
             return;
         }
         $event->getNode()->setProperty($this->propertyEncoder->localizedContentName(static::PROPERTY_NAME, $event->getLocale()), $document->getTitle());
     } else {
         $event->getNode()->setProperty($this->propertyEncoder->contentName(static::PROPERTY_NAME), $document->getTitle());
     }
 }
Exemple #2
0
 /**
  * Append mapping selects for a single property to given query-builder.
  *
  * @param QueryBuilder $queryBuilder
  * @param string $propertyName
  * @param string[] $locales
  */
 private function appendSingleMapping(QueryBuilder $queryBuilder, $propertyName, $locales)
 {
     foreach ($locales as $locale) {
         $alias = sprintf('%s%s', $locale, str_replace('-', '_', ucfirst($propertyName)));
         $queryBuilder->addSelect('node', $this->propertyEncoder->localizedContentName($propertyName, $locale), $alias);
     }
 }