DI扩展名:没有扩展名能够加载“ twig”的配置

时间:2019-03-25 20:40:02

标签: symfony dependency-injection twig

我刚刚创建了一个symfony DI extension,我试图在其中将一些表单主题配置附加到我的app / config.yml中。

1)我的扩展程序类:

class ELFinderFieldTypeExtension extends Extension implements PrependExtensionInterface
{
    /**
     * {@inheritdoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));

        $loader->load('form_themes.yml');
    }
...

2)我的form_themes.yml

twig:
    form_themes:
        - 'ELFinderFieldTypeBundle:elfinder:elfinder_widget.html.twig'

不幸的是,这不是加载树枝配置的正确方法,这就是我得到的一种方法:

  

没有扩展程序能够加载“ twig”的配置(在   /var/www/html/..../DependencyInjection/../Resources/config/form_themes.yml)。   寻找名称空间“ twig”,没有找到

任何有想法的人都会被投票和赞赏。

1 个答案:

答案 0 :(得分:0)

我找到了一个简单的解决方案,盟友我需要在实现PrependExtensionInterface接口之后追加配置:

public function prepend(ContainerBuilder $container)
{
    $configFile = \sprintf('%s%s', __DIR__, '/../Resources/config/form_themes.yml');
    $this->prependYamlConfigFile($container, 'twig', $configFile);
}