<?php // all templates View::composer('hbs::*', function ($view) { // add common data $view->with(array('baseUrl' => url(), 'lang' => App::getLocale(), 'ie' => \BrowserDetect::isIE(), 'ie11' => \BrowserDetect::isIEVersion(11))); // get data (assume page) if ($view->offsetExists('data')) { $page = $view->offsetGet('data'); // page name if ($page && is_object($page) && property_exists($page, 'name')) { $view->with('page', $page->name); } } $viewName = $view->offsetExists('viewName') ? $view->offsetGet('viewName') : ''; $view->with('viewName', $viewName); }); // all templates View::composer('hbs::navigation', function ($view) { /* $routes = $view->offsetGet('data'); $data = new stdClass; $data->desktop = $routes[0]; $data->mobile = $routes[1]; $view->with(array( 'data' => $data, )); */ }); // home.hbs View::composer(array('hbs::home', 'hbs::homeIE'), function ($view) {
$prop_key = $data_prop . '_' . App::getLocale(); if (is_object($data) && property_exists($data, $prop_key)) { return $data->{$prop_key}; } elseif (is_array($data) && isset($data[$prop_key])) { return $data[$prop_key]; } } }, 'makeAllSides' => function ($template, $context, $args, $source) { $html = '<div class="left-pane side setSize hiddenBackface"></div><div class="right-pane side hiddenBackface setSize"></div><div class="back-pane side setSize hiddenBackface"></div>'; if (BrowserDetect::isIE()) { $html = '<div class="back-pane hiddenBackface side setSize"></div>'; } return $html; }, 'makeSides' => function ($template, $context, $args, $source) { $html = '<div class="left-pane side setSize hiddenBackface"></div><div class="right-pane side setSize hiddenBackface"></div>'; if (BrowserDetect::isIE()) { $html = '<div class="back-pane side setSize"></div>'; } return $html; }, 'include' => function ($template, $context, $args, $source) { $parial = false; $partial_data = array(); if (!empty($args)) { $_args = explode(' ', $args); $partial = array_shift($_args); $partial = trim($partial, " \\'\""); if (!empty($_args)) { foreach ($_args as $arg) { if (strpos($arg, '=')) { $re = '/(\\w+)=["\']([^"\'<>]+)["\']/'; if (preg_match($re, $arg, $m)) {
protected function renderHomePage() { $view_data = array(); // -------------------------------------- $meta_data = $this->setMetaData(); $view_data = array_merge($view_data, $meta_data); // navigation // -------------------------------------- $view_data['navigation'] = $this->renderNavigation(); // -------------------------------------- $template_data = $this->setPageData(); // page template (handlebars) $ie = \BrowserDetect::isIE(); $isMobile = \BrowserDetect::isMobile(); //$tmpl = ($ie || $isMobile) ? 'hbs::homeIE' : 'hbs::home'; $tmpl = 'hbs::home'; $content = View::make($tmpl, $template_data); $view_data['content'] = $content; return View::make('layouts.application', $view_data); }