Sulu\Bundle\DocumentManagerBundle\Bridge\DocumentInspector::getLocalizationState PHP Method

getLocalizationState() public method

Return the localization state of the node.
public getLocalizationState ( object $document ) : string
$document object
return string
    public function getLocalizationState($document)
    {
        if ($document instanceof ShadowLocaleBehavior) {
            if (true === $document->isShadowLocaleEnabled()) {
                return LocalizationState::SHADOW;
            }
        }
        $originalLocale = $document->getOriginalLocale();
        $currentLocale = $document->getLocale();
        if ($originalLocale === $currentLocale) {
            return LocalizationState::LOCALIZED;
        }
        return LocalizationState::GHOST;
    }

Usage Example

Example #1
0
 /**
  * Adds the concrete languages available and the type (ghost or shadow) of the document to the serialization.
  *
  * @param ObjectEvent $event
  */
 public function onPostSerialize(ObjectEvent $event)
 {
     $document = $event->getObject();
     if (!$document instanceof LocaleBehavior || !$this->documentRegistry->hasDocument($document)) {
         return;
     }
     $visitor = $event->getVisitor();
     $visitor->addData('concreteLanguages', $this->documentInspector->getConcreteLocales($document));
     $localizationState = $this->documentInspector->getLocalizationState($document);
     if ($localizationState === LocalizationState::GHOST) {
         $visitor->addData('type', ['name' => 'ghost', 'value' => $document->getLocale()]);
     }
     if ($localizationState === LocalizationState::SHADOW) {
         $visitor->addData('type', ['name' => 'shadow', 'value' => $document->getLocale()]);
     }
 }
All Usage Examples Of Sulu\Bundle\DocumentManagerBundle\Bridge\DocumentInspector::getLocalizationState