Beispiel #1
0
 /**
  * Formats layout template file names.
  * @param  string
  * @param  string
  * @return array
  */
 public function formatLayoutTemplateFiles($presenter, $layout)
 {
     if ($this->oldModuleMode) {
         $root = Environment::getVariable('templatesDir', Environment::getVariable('appDir') . '/templates');
         // back compatibility
         $presenter = str_replace(':', 'Module/', $presenter);
         $module = substr($presenter, 0, (int) strrpos($presenter, '/'));
         $base = '';
         if ($root === Environment::getVariable('appDir') . '/presenters') {
             $base = 'templates/';
             if ($module === '') {
                 $presenter = 'templates/' . $presenter;
             } else {
                 $presenter = substr_replace($presenter, '/templates', strrpos($presenter, '/'), 0);
             }
         }
         return array("{$root}/{$presenter}/@{$layout}.phtml", "{$root}/{$presenter}.@{$layout}.phtml", "{$root}/{$module}/{$base}@{$layout}.phtml", "{$root}/{$base}@{$layout}.phtml");
     }
     return parent::formatLayoutTemplateFiles($presenter, $layout);
 }
Beispiel #2
0
 /** Enable layout overrides by app folder
  */
 public function formatLayoutTemplateFiles()
 {
     $name = str_replace(':', '.', $this->getName());
     $arr = array();
     do {
         $arr[] = $this->context->params["appDir"] . "/templates/{$name}.@layout.latte";
     } while ($name = substr($name, 0, strrpos($name, '.')));
     $arr[] = $this->context->params["appDir"] . "/templates/@layout.latte";
     return array_merge($arr, parent::formatLayoutTemplateFiles());
 }