예제 #1
0
 protected function createTemplate()
 {
     $template = new NFileTemplate();
     $presenter = $this->getPresenter(FALSE);
     $template->onPrepareFilters[] = callback($this, 'templatePrepareFilters');
     $template->control = $this;
     $template->presenter = $presenter;
     $template->user = NEnvironment::getUser();
     $template->baseUri = rtrim(NEnvironment::getVariable('baseUri', NULL), '/');
     $template->basePath = preg_replace('#https?://[^/]+#A', '', $template->baseUri);
     if ($presenter !== NULL && $presenter->hasFlashSession()) {
         $id = $this->getParamId('flash');
         $template->flashes = $presenter->getFlashSession()->{$id};
     }
     if (!isset($template->flashes) || !is_array($template->flashes)) {
         $template->flashes = array();
     }
     $template->registerHelper('escape', 'NTemplateHelpers::escapeHtml');
     $template->registerHelper('escapeUrl', 'rawurlencode');
     $template->registerHelper('stripTags', 'strip_tags');
     $template->registerHelper('nl2br', 'nl2br');
     $template->registerHelper('substr', 'iconv_substr');
     $template->registerHelper('repeat', 'str_repeat');
     $template->registerHelper('replaceRE', 'NString::replace');
     $template->registerHelper('implode', 'implode');
     $template->registerHelper('number', 'number_format');
     $template->registerHelperLoader('NTemplateHelpers::loader');
     return $template;
 }
	/**
	 * @return NFileTemplate
	 */
	public function createNette__template()
	{
		$service = new NFileTemplate;
		$service->registerFilter($this->createNette__latte());
		$service->registerHelperLoader('NTemplateHelpers::loader');
		return $service;
	}