diff --git a/admin.php b/admin.php index 6c1978f5..b9ad32ba 100644 --- a/admin.php +++ b/admin.php @@ -291,6 +291,7 @@ class AdminPlugin extends Plugin protected function initializeAdmin() { $this->enable([ + 'onTwigExtensions' => ['onTwigExtensions', 1000], 'onPagesInitialized' => ['onPagesInitialized', 1000], 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 1000], 'onTwigSiteVariables' => ['onTwigSiteVariables', 1000], @@ -335,4 +336,13 @@ class AdminPlugin extends Plugin // Get theme for admin $this->theme = $this->config->get('plugins.admin.theme', 'grav'); } + + /** + * Add Twig Extensions + */ + public function onTwigExtensions() + { + require_once(__DIR__.'/twig/AdminTwigExtension.php'); + $this->grav['twig']->twig->addExtension(new AdminTwigExtension()); + } } diff --git a/twig/AdminTwigExtension.php b/twig/AdminTwigExtension.php new file mode 100644 index 00000000..8a2c7232 --- /dev/null +++ b/twig/AdminTwigExtension.php @@ -0,0 +1,38 @@ +grav = Grav::instance(); + } + + /** + * Returns extension name. + * + * @return string + */ + public function getName() + { + return 'AdminTwigExtension'; + } + + public function getFilters() + { + return [ + new \Twig_SimpleFilter('tu', [$this, 'tuFilter']), + + ]; + } + + public function tuFilter() + { + return $this->grav['language']->translate(func_get_args()); + } + +} \ No newline at end of file