diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 33a2220..54a4806 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -37,6 +37,7 @@ public function getConfigTreeBuilder() ->scalarNode('table_prefix')->end() ->scalarNode('wordpress_directory')->end() ->scalarNode('entity_manager')->end() + ->booleanNode('load_twig_extension')->defaultFalse()->end() ->end() ; diff --git a/DependencyInjection/EkinoWordpressExtension.php b/DependencyInjection/EkinoWordpressExtension.php index 42980fe..10ed1f1 100755 --- a/DependencyInjection/EkinoWordpressExtension.php +++ b/DependencyInjection/EkinoWordpressExtension.php @@ -52,7 +52,9 @@ public function load(array $configs, ContainerBuilder $container) $this->loadEntityManager($container, $config['entity_manager']); } - $this->loadTwigExtensions($loader); + if ($config['load_twig_extension']) { + $loader->load('twig.xml'); + } } /** @@ -104,18 +106,6 @@ protected function loadEntityManager(ContainerBuilder $container, $em) $container->getDefinition('ekino.wordpress.manager.user_meta')->replaceArgument(0, $reference); } - /** - * Will load twig extensions if enabled - * - * @param XmlFileLoader $loader - */ - protected function loadTwigExtensions(XmlFileLoader $loader) - { - if (class_exists('\Twig_Extension')) { - $loader->load('twig.xml'); - } - } - /** * Returns bundle alias name * diff --git a/README.md b/README.md index 0640b41..0585825 100755 --- a/README.md +++ b/README.md @@ -67,9 +67,10 @@ Optionnally, you can specify the following options in your `app/config.yml`: ekino_wordpress: table_prefix: wp_ # If you have a specific Wordpress table prefix wordpress_directory: /my/wordpress/directory # If you have a specific Wordpress directory structure + load_twig_extension: true # If you want to enable native WordPress functions (ie : get_option() => wp_get_option()) ``` -Also optionnally, if you want to use `UserHook` to authenticate on Symfony, you should add this configuration to your `app/security.yml`: +Also optionally, if you want to use `UserHook` to authenticate on Symfony, you should add this configuration to your `app/security.yml`: ```yml security: diff --git a/Twig/Extension/OptionExtension.php b/Twig/Extension/OptionExtension.php index 3698458..a821d56 100644 --- a/Twig/Extension/OptionExtension.php +++ b/Twig/Extension/OptionExtension.php @@ -22,7 +22,7 @@ public function getName() /** * @param OptionManager $optionManager */ - public function __contruct(OptionManager $optionManager) + public function __construct(OptionManager $optionManager) { $this->optionManager = $optionManager; } @@ -33,7 +33,7 @@ public function __contruct(OptionManager $optionManager) public function getFunctions() { return array( - new \Twig_SimpleFunction('get_option', array($this, 'getOption')), + new \Twig_SimpleFunction('wp_get_option', array($this, 'getOption')), ); }