Register new twig.string in App container that will parse strings

This commit is contained in:
Sam Georges 2014-06-28 21:12:02 +10:00
parent 1ab5e14584
commit 541eab99dc
2 changed files with 13 additions and 7 deletions

View File

@ -8,6 +8,7 @@ use Backend;
use BackendMenu;
use BackendAuth;
use Twig_Environment;
use Twig_Loader_String;
use System\Classes\ErrorHandler;
use System\Classes\PluginManager;
use System\Classes\SettingsManager;
@ -72,7 +73,7 @@ class ServiceProvider extends ModuleServiceProvider
});
/*
* Register basic twig
* Register basic Twig
*/
App::bindShared('twig', function($app) {
$twig = new Twig_Environment(new TwigLoader(), ['auto_reload' => true]);
@ -87,6 +88,15 @@ class ServiceProvider extends ModuleServiceProvider
return new TwigEngine(App::make('twig'));
});
/*
* Register Twig that will parse strings
*/
App::bindShared('twig.string', function($app) {
$twig = $app['twig'];
$twig->setLoader(new Twig_Loader_String);
return $twig;
});
/*
* Override system email with email settings
*/

View File

@ -100,12 +100,9 @@ class EmailTemplate extends Model
$template = self::$cache[$code];
/*
* Set Twig to load from a string
* Get Twig to load from a string
*/
$twig = App::make('twig');
$oldLoader = $twig->getLoader();
$twig->setLoader(new \Twig_Loader_String);
$twig = App::make('twig.string');
$message->subject($twig->render($template->subject, $data));
/*
@ -133,7 +130,6 @@ class EmailTemplate extends Model
$message->addPart($text, 'text/plain');
}
$twig->setLoader($oldLoader);
return true;
}