diff --git a/Document/Structure/ArticleBridge.php b/Document/Structure/ArticleBridge.php index 3b5a10b2..0d3407f3 100644 --- a/Document/Structure/ArticleBridge.php +++ b/Document/Structure/ArticleBridge.php @@ -107,4 +107,18 @@ public function setWebspaceKey($webspace) { $this->webspaceKey = $webspace; } + + public function getLanguageCode() + { + if (!$this->document) { + return $this->locale; + } + + // return original locale for shadow or ghost pages + if ($this->getIsShadow() || ($this->getType() && 'ghost' === $this->getType()->getName())) { + return $this->inspector->getOriginalLocale($this->getDocument()); + } + + return parent::getLanguageCode(); + } } diff --git a/SuluArticleBundle.php b/SuluArticleBundle.php index fbdb9987..ae87c224 100644 --- a/SuluArticleBundle.php +++ b/SuluArticleBundle.php @@ -23,7 +23,7 @@ */ class SuluArticleBundle extends Bundle { - public function build(ContainerBuilder $container) + public function build(ContainerBuilder $container): void { $container->addCompilerPass(new ConverterCompilerPass()); $container->addCompilerPass(new StructureValidatorCompilerPass(), PassConfig::TYPE_AFTER_REMOVING); diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 1c870335..98be553f 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1455,6 +1455,11 @@ parameters: count: 1 path: Document/Structure/ArticleBridge.php + - + message: "#^Left side of && is always true\\.$#" + count: 1 + path: Document/Structure/ArticleBridge.php + - message: "#^Method Sulu\\\\Bundle\\\\ArticleBundle\\\\Document\\\\Structure\\\\ArticleBridge\\:\\:getConcreteLanguages\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 @@ -1485,6 +1490,11 @@ parameters: count: 1 path: Document/Structure/ArticleBridge.php + - + message: "#^Negated boolean expression is always false\\.$#" + count: 1 + path: Document/Structure/ArticleBridge.php + - message: "#^Parameter \\#1 \\$document of method Sulu\\\\Bundle\\\\DocumentManagerBundle\\\\Bridge\\\\DocumentInspector\\:\\:getConcreteLocales\\(\\) expects Sulu\\\\Component\\\\Content\\\\Document\\\\Behavior\\\\ShadowLocaleBehavior, object given\\.$#" count: 1