Skip to content

Commit fadc0d1

Browse files
committed
Merge pull request #133 from symfony-cmf/seo_bundle
[WCM] Reflect SeoBundle configuration changes
2 parents ea20e56 + 94cd062 commit fadc0d1

File tree

2 files changed

+58
-4
lines changed

2 files changed

+58
-4
lines changed

DependencyInjection/CmfCoreExtension.php

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class CmfCoreExtension extends Extension implements PrependExtensionInterface
3131
*/
3232
public function prepend(ContainerBuilder $container)
3333
{
34-
// process the configuration of SymfonyCmfCoreExtension
34+
// process the configuration of CmfCoreExtension
3535
$configs = $container->getExtensionConfig($this->getAlias());
3636
$parameterBag = $container->getParameterBag();
3737
$configs = $parameterBag->resolveValue($configs);
@@ -182,11 +182,54 @@ public function prepend(ContainerBuilder $container)
182182
'persistence' => array(
183183
'phpcr' => array(
184184
'enabled' => $persistenceConfig['enabled'],
185-
'use_sonata_admin' => $persistenceConfig['use_sonata_admin'],
186-
'content_basepath' => $persistenceConfig['basepath'].'/content',
185+
),
186+
),
187+
'sonata_admin_extension' => $persistenceConfig['use_sonata_admin'],
188+
);
189+
break;
190+
}
191+
192+
if ($prependConfig) {
193+
$container->prependExtensionConfig($name, $prependConfig);
194+
}
195+
}
196+
}
197+
198+
if ($config['persistence']['orm']) {
199+
$bundles = $container->getParameter('kernel.bundles');
200+
$persistenceConfig = $config['persistence']['orm'];
201+
202+
foreach ($container->getExtensions() as $name => $extension) {
203+
$prependConfig = array();
204+
205+
switch ($name) {
206+
case 'cmf_routing':
207+
$prependConfig = array(
208+
'dynamic' => array(
209+
'enabled' => true,
210+
'persistence' => array(
211+
'orm' => array(
212+
'enabled' => $persistenceConfig['enabled'],
213+
'manager_name' => $persistenceConfig['manager_name'],
214+
)
187215
)
188216
)
189217
);
218+
219+
if (isset($bundles['CmfContentBundle'])) {
220+
$prependConfig['dynamic']['generic_controller'] = 'cmf_content.controller:indexAction';
221+
}
222+
break;
223+
224+
case 'cmf_seo':
225+
$prependConfig = array(
226+
'persistence' => array(
227+
'orm' => array(
228+
'enabled' => $persistenceConfig['enabled'],
229+
),
230+
),
231+
'sonata_admin_extension' => $persistenceConfig['use_sonata_admin'],
232+
);
190233
break;
191234
}
192235

DependencyInjection/Configuration.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,18 @@ public function getConfigTreeBuilder()
4343
->end()
4444
->scalarNode('translation_strategy')->defaultNull()->end()
4545
->end()
46-
->end()
46+
->end() // phpcr
47+
->arrayNode('orm')
48+
->addDefaultsIfNotSet()
49+
->canBeEnabled()
50+
->children()
51+
->scalarNode('manager_name')->defaultNull()->end()
52+
->enumNode('use_sonata_admin')
53+
->values(array(true, false, 'auto'))
54+
->defaultValue('auto')
55+
->end()
56+
->end()
57+
->end() // orm
4758
->end()
4859
->end()
4960
->arrayNode('multilang')

0 commit comments

Comments
 (0)