FluidTYPO3\Vhs\Service\AssetService::placeAssetsInHeaderAndFooter PHP Méthode

placeAssetsInHeaderAndFooter() protected méthode

protected placeAssetsInHeaderAndFooter ( FluidTYPO3\Vhs\ViewHelpers\Asset\AssetInterface[] $assets, boolean $cached ) : void
$assets FluidTYPO3\Vhs\ViewHelpers\Asset\AssetInterface[]
$cached boolean
Résultat void
    protected function placeAssetsInHeaderAndFooter($assets, $cached)
    {
        $settings = $this->getSettings();
        $header = [];
        $footer = [];
        $footerRelocationEnabled = isset($settings['enableFooterRelocation']) && $settings['relocateToFooter'] > 0 || !isset($settings['enableFooterRelocation']);
        foreach ($assets as $name => $asset) {
            $variables = $asset->getVariables();
            if (0 < count($variables)) {
                $name .= '-' . md5(serialize($variables));
            }
            if (true === ($this->assertAssetAllowedInFooter($asset) && $footerRelocationEnabled)) {
                $footer[$name] = $asset;
            } else {
                $header[$name] = $asset;
            }
        }
        if (false === $cached) {
            $uncachedSuffix = 'Uncached';
        } else {
            $uncachedSuffix = '';
            $dependenciesString = '<!-- VhsAssetsDependenciesLoaded ' . implode(',', array_keys($assets)) . ' -->';
            $this->insertAssetsAtMarker('DependenciesLoaded', $dependenciesString);
        }
        $this->insertAssetsAtMarker('Header' . $uncachedSuffix, $header);
        $this->insertAssetsAtMarker('Footer' . $uncachedSuffix, $footer);
        $GLOBALS['VhsAssets'] = [];
    }