public function display($template, $return = false) { $loader = new sfTemplateLoaderFilesystem($this->getTemplateLoaderPathMasks()); $engine = new sfTemplateEngine($loader); $engine->setHelperSet(new sfTemplateHelperSet($this->getTemplateHelperSets())); // var_dump($this->templateParameters);exit; $result = $engine->render($template, $this->templateParameters); if ($return) { return $result; } echo $result; }
/** * Rendu d'un template en utilisant les éventuelles variables pré-assignées. * * @see sfTemplateEngine::render() */ public function render($sTemplateFile, array $aVars = array()) { if (!empty($aVars)) { $this->assign($aVars); } return parent::render($sTemplateFile, $this->aAssignedVars); }
require_once dirname(__FILE__) . '/../../lib/sfTemplateAutoloader.php'; sfTemplateAutoloader::register(); require_once dirname(__FILE__) . '/lib/SimpleHelper.php'; $t = new lime_test(3); class ProjectTemplateRenderer extends sfTemplateRenderer { public function getEngine() { return $this->engine; } public function evaluate(sfTemplateStorage $template, array $parameters = array()) { } } $loader = new sfTemplateLoaderFilesystem(array(dirname(__FILE__) . '/fixtures/templates/%name%.%renderer%')); $engine = new sfTemplateEngine($loader); $engine->set('foo', 'bar'); $engine->getHelperSet()->set(new SimpleHelper('foo'), 'bar'); // ->setEngine() $t->diag('->setEngine()'); $renderer = new ProjectTemplateRenderer(); $renderer->setEngine($engine); $t->ok($renderer->getEngine() === $engine, '->setEngine() sets the engine instance tied to this renderer'); // __call() $t->diag('__call()'); $renderer = new ProjectTemplateRenderer(); $renderer->setEngine($engine); $t->is($renderer->get('foo'), 'bar', '__call() proxies to the embedded engine instance'); // __get() $t->diag('__get()'); $renderer = new ProjectTemplateRenderer();