找不到配置根节点

时间:2014-03-12 08:39:39

标签: symfony configuration

我已经在几个小时内遇到了这个问题。 在我的一个软件包中,我喜欢创建一个配置,因此可以在app / config / config.yml文件中配置软件包。这是代码:

public function getConfigTreeBuilder()
{
    $treeBuilder = new TreeBuilder();
    $rootNode = $treeBuilder->root('jstree');

    $rootNode
        ->children()
            ->scalarNode('default_tree')
                ->defaultValue('default')
                ->end()
            ->arrayNode('trees')
                ->isRequired()
                ->requiresAtLeastOneElement()
                ->useAttributeAsKey('name')
                ->prototype('array')
                    ->children()
                        ->scalarNode('tree_class')->end()
                        ->scalarNode('tree_node_class')->end()
                    ->end()
                ->end()
            ->end()
        ->end();

    return $treeBuilder;
}

捆绑包名为“HotfloSystemJsTreeBundle”

在我的app / config / config.yml中,我有:

jstree:
    default_tree: default
    trees:
        default:
            tree_class: Hotflo\System\CoreBundle\Entity\PoliTree
            tree_node_class: Hotflo\System\CoreBundle\Entity\PoliTreeNode

我收到错误:

There is no extension able to load the configuration for "jstree"

我在代码中找不到错误。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

如果您希望根节点名称不同,请尝试覆盖扩展别名

class HotfloSystemJsTreeExtension extends Extension
{
    //....

    /**
     * {@inheritDoc}
     */
    public function getAlias()
    {
        return 'jstree';
    }
}