eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\Parser\Page::preMap PHP Метод

preMap() публичный Метод

public preMap ( array $config, eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\SiteAccessAware\ContextualizerInterface $contextualizer )
$config array
$contextualizer eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\SiteAccessAware\ContextualizerInterface
    public function preMap(array $config, ContextualizerInterface $contextualizer)
    {
        $container = $contextualizer->getContainer();
        $defaultConfig = array('layouts' => $container->getParameter('ezpublish.ezpage.layouts'), 'blocks' => $container->getParameter('ezpublish.ezpage.blocks'), 'enabledLayouts' => $container->getParameter('ezpublish.ezpage.enabledLayouts'), 'enabledBlocks' => $container->getParameter('ezpublish.ezpage.enabledBlocks'));
        $container->setParameter('ezsettings.' . ConfigResolver::SCOPE_DEFAULT . '.ezpage', $defaultConfig);
        $contextualizer->mapConfigArray('ezpage', $config, ContextualizerInterface::MERGE_FROM_SECOND_LEVEL);
        // filters blocks and layouts for each siteaccess to keep only
        // the enabled ones for this sa
        foreach ($config['siteaccess']['list'] as $sa) {
            $ezpageSettings = $container->getParameter("ezsettings.{$sa}.ezpage");
            foreach (array('layouts', 'blocks') as $type) {
                $enabledKey = 'enabled' . ucfirst($type);
                if (empty($ezpageSettings[$enabledKey])) {
                    $ezpageSettings[$type] = array();
                    continue;
                }
                $ezpageSettings[$type] = array_intersect_key($ezpageSettings[$type], array_flip($ezpageSettings[$enabledKey]));
                $ezpageSettings[$enabledKey] = array_unique($ezpageSettings[$enabledKey]);
            }
            $container->setParameter("ezsettings.{$sa}.ezpage", $ezpageSettings);
        }
    }