Beispiel #1
0
 public static function parseLayout($vars = array(), $options = array())
 {
     $options += array('headAndFooter' => true, 'generatedIn' => Configure::read());
     $_this = self::getInstance();
     $vars += Sl::getInstance()->view->viewVars;
     $vars += array('lang' => SlConfigure::read('I18n.lang'));
     if ($options['headAndFooter']) {
         $vars['head'] = Sl::uniqid();
         $vars['footer'] = Sl::uniqid();
     }
     $_this->layout->blocks = array('body' => self::$body);
     if ($options['generatedIn']) {
         $_this->layout->blocks['generatedIn'] = new GeneratedInParser();
     }
     $_this->layout->vars = $vars;
     $stack = PhemeParser::$parseCallStack;
     PhemeParser::$parseCallStack = array(self::$_core);
     $skin = $_this->layout->parse($_this->layoutSkin);
     PhemeParser::$parseCallStack = $stack;
     if ($options['headAndFooter']) {
         $skin = r(array($vars['head'], $vars['footer']), array(Sl::getInstance()->view->element('head', $vars), Sl::getInstance()->view->element('footer')), $skin);
     }
     $_this->layout->blocks['body'] = null;
     $_this->layout->vars = array();
     return $skin;
 }