2015-10-19 27 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

请看最后的评论话题 –