#symfony #dependency-injection #twig
#symfony #внедрение зависимостей #twig
Вопрос:
Я только что создал расширение symfony — DI, где я пытаюсь добавить некоторую конфигурацию темы формы в мое приложение / 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 LoaderYamlFileLoader($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, поэтому я получаю что-то вроде:
Нет расширения, способного загрузить конфигурацию для «twig» (в /var/www/html/…./DependencyInjection/../Resources/config/form_themes.yml). Искал пространство имен «twig», не нашел
Любой, у кого есть какая-либо идея, будет проголосован и оценен по достоинству.
Ответ №1:
Я нашел простое решение, которое мне нужно, это добавить мою конфигурацию после реализации PrependExtensionInterface
интерфейса:
public function prepend(ContainerBuilder $container)
{
$configFile = sprintf('%s%s', __DIR__, '/../Resources/config/form_themes.yml');
$this->prependYamlConfigFile($container, 'twig', $configFile);
}