Extends
lithium\core\Object
Sets the default output handlers for string template inputs.
Returns
voidSource
protected function _init() {
parent::_init();
$request =& $this->_request;
$context =& $this->_context;
$classes =& $this->_classes;
$h = $this->_view ? $this->_view->outputFilters['h'] : null;
$this->_handlers += array(
'url' => function($url, $ref, array $options = array()) use (&$classes, &$request, $h) {
$url = $classes['router']::match($url ?: '', $request, $options);
return $h ? str_replace('&', '&', $h($url)) : $url;
},
'path' => function($path, $ref, array $options = array()) use (&$classes, &$request) {
$defaults = array('base' => $request ? $request->env('base') : '');
$type = 'generic';
if (is_array($ref) && $ref[0] && $ref[1]) {
list($helper, $methodRef) = $ref;
list($class, $method) = explode('::', $methodRef);
$type = $helper->contentMap[$method];
}
return $classes['media']::asset($path, $type, $options + $defaults);
},
'options' => '_attributes',
'title' => 'escape',
'scripts' => function($scripts) use (&$context) {
return "\n\t" . join("\n\t", $context['scripts']) . "\n";
},
'styles' => function($styles) use (&$context) {
return "\n\t" . join("\n\t", $context['styles']) . "\n";
},
'head' => function($head) use (&$context) {
return "\n\t" . join("\n\t", $context['head']) . "\n";
}
);
unset($this->_config['view']);
}