FluidTYPO3\Vhs\ViewHelpers\Page\LanguageViewHelper::renderStatic PHP Method

renderStatic() public static method

public static renderStatic ( array $arguments, Closure $renderChildrenClosure, TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface $renderingContext ) : mixed
$arguments array
$renderChildrenClosure Closure
$renderingContext TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface
return mixed
    public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
    {
        if ('BE' === TYPO3_MODE) {
            return '';
        }
        $languages = $arguments['languages'];
        if (true === $languages instanceof \Traversable) {
            $languages = iterator_to_array($languages);
        } elseif (true === is_string($languages)) {
            $languages = GeneralUtility::trimExplode(',', $languages, true);
        } else {
            $languages = (array) $languages;
        }
        $pageUid = intval($arguments['pageUid']);
        $normalWhenNoLanguage = $arguments['normalWhenNoLanguage'];
        if (0 === $pageUid) {
            $pageUid = $GLOBALS['TSFE']->id;
        }
        $pageService = static::getPageService();
        $currentLanguageUid = $GLOBALS['TSFE']->sys_language_uid;
        $languageUid = 0;
        if (false === $pageService->hidePageForLanguageUid($pageUid, $currentLanguageUid, $normalWhenNoLanguage)) {
            $languageUid = $currentLanguageUid;
        } elseif (0 !== $currentLanguageUid) {
            if (true === $pageService->hidePageForLanguageUid($pageUid, 0, $normalWhenNoLanguage)) {
                return '';
            }
        }
        if (false === empty($languages[$languageUid])) {
            return $languages[$languageUid];
        }
        return $languageUid;
    }