2015-10-19 26 views
1

我遇到了一個問題:我需要更改供應商軟件包配置。我如何正確地做到這一點?Symfony2 - 更改供應商軟件包配置

供應商捆綁配置:

namespace Oro\Bundle\DataGridBundle\Extension\Toolbar; 

use Symfony\Component\Config\Definition\Builder\TreeBuilder; 
use Symfony\Component\Config\Definition\ConfigurationInterface; 

use Oro\Bundle\ConfigBundle\Config\ConfigManager; 

class Configuration implements ConfigurationInterface 
{ 
    /** @var int */ 
    private $defaultPerPage; 

    /** 
    * @param ConfigManager $cm 
    */ 
    public function __construct(ConfigManager $cm) 
    { 
     $this->defaultPerPage = $cm->get('oro_data_grid.default_per_page'); 
    } 

    /** 
    * {@inheritDoc} 
    */ 
    public function getConfigTreeBuilder() 
    { 
     $builder = new TreeBuilder(); 

     $builder->root('toolbarOptions') 
      ->children() 
       ->booleanNode('hide')->defaultFalse()->end() 
       ->booleanNode('addResetAction')->defaultTrue()->end() 
       ->booleanNode('addRefreshAction')->defaultTrue()->end() 
       ->integerNode('turnOffToolbarRecordsNumber')->defaultValue(0)->end() 
       ->arrayNode('pageSize')->addDefaultsIfNotSet() 
        ->children() 
         ->booleanNode('hide')->defaultFalse()->end() 
         ->scalarNode('default_per_page')->defaultValue($this->defaultPerPage)->end() 
         ->arrayNode('items') 
          ->defaultValue([10, 25, 50, 100]) 
          ->prototype('variable')->end() 
         ->end() 
        ->end() 
       ->end() 
       ->arrayNode('pagination') 
        ->addDefaultsIfNotSet() 
        ->children() 
         ->booleanNode('hide')->defaultFalse()->end() 
        ->end() 
       ->end() 
      ->end(); 

     return $builder; 
    } 
} 

的問題是 - 如何更改->arrayNode('items')我的自定義陣列無需編輯包的configuration.php?

+0

,看一下:'http://symfony.com/doc/current/cookbook/bundles/override .html' – scoolnico

+0

爲什麼你需要重寫這部分配置?你想做什麼?不會改變你的'app/config.yml'中的值按預期工作嗎? – Touki

+0

@Touki,因爲這些參數不在config.yml中。據我所知 - 這個配置樹是建立在'飛'... –

回答

1

你並不需要更改配置的建設者,只是將其配置爲你想要的:

bundle_name: 
    toolbarOptions: 
     pageSize: 
      items: [10, 25, 50, 100, 500, 1000] 
+0

請看最後的評論話題 –