/** * 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); }
/** 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()); }