2017-10-09 1 views
3

Ich möchte wissen, wie 2 Bundles mit dem gleichen TreeBuilder-Alias ​​haben.Ist es möglich, den gleichen TreeBuilder-Root für mehrere Bundles zu verwenden?

In meinem Fall habe ich die nächste Konfiguration:

harmony: 
    site_name: 'Site name' 
    theme: 'default' 

Und ich möchte die site_name durch ein Bündel und dem theme Parameter durch ein anderes Bündel definiert haben.

Eigentlich, um das zu erreichen, erstelle ich 2 Konfigurationsklassen.

Die erste enthält:

$treeBuilder = new TreeBuilder(); 
    $rootNode = $treeBuilder->root('harmony'); 

    $rootNode 
     ->children() 
      ->scalarNode('site_name') 
       ->isRequired() 
       ->info('The name displayed as the title of the site (e.g. company name, project name).') 
      ->end() 
     ->end() 
    ; 

Die zweite:

$treeBuilder = new TreeBuilder(); 
    $rootNode = $treeBuilder->root('harmony'); 

    $rootNode 
     ->children() 
      ->scalarNode('theme') 
       ->isRequired() 
       ->cannotBeEmpty() 
       ->defaultValue('default') 
       ->info('The theme used to render the frontend pages.') 
      ->end() 
     ->end() 
    ; 

Jedoch habe ich die nächste Ausnahmemeldung erhalten:

Nicht erkannte Option "Thema" unter "Harmonie"

Ich nehme an, dass mein erstes Bündel nach zusätzlichen Schlüsseln sucht und den Schlüssel theme gefunden hat, der im zweiten Bündel definiert ist.

Gibt es einen Weg zu erreichen, was ich tun möchte?

Antwort

Verwandte Themen