/** * Resolve a property and follow shadow locale if it has one. * * @param Row $row * @param string $name * @param string $locale * @param string $shadowLocale * * @return mixed */ private function resolveProperty(Row $row, $name, $locale, $shadowLocale = null) { if (array_key_exists(sprintf('node.%s', $name), $row->getValues())) { return $row->getValue($name); } if (null !== $shadowLocale && !in_array($name, self::$nonFallbackProperties)) { $locale = $shadowLocale; } $name = sprintf('%s%s', $locale, ucfirst($name)); return $row->getValue($name); }
/** * Resolve a property and follow shadow locale if it has one. * * @param Row $row * @param string $name * @param string $locale * @param string $shadowLocale * * @return mixed */ private function resolveProperty(Row $row, $name, $locale, $shadowLocale = null) { if (array_key_exists(sprintf('node.%s', $name), $row->getValues())) { return $row->getValue($name); } if (null !== $shadowLocale && !in_array($name, self::$nonFallbackProperties)) { $locale = $shadowLocale; } $name = sprintf('%s%s', $locale, str_replace('-', '_', ucfirst($name))); try { return $row->getValue($name); } catch (ItemNotFoundException $e) { // the default value of a non existing property in jackalope is an empty string return ''; } }